fast-element-plus 1.0.6 → 1.0.9

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 (262) hide show
  1. package/dist/index.full.js +12988 -2359
  2. package/dist/index.full.js.map +1 -1
  3. package/dist/index.full.min.js +1 -1
  4. package/dist/index.full.min.js.map +1 -1
  5. package/dist/index.full.min.mjs +1 -1
  6. package/dist/index.full.min.mjs.map +1 -1
  7. package/dist/index.full.mjs +12988 -2359
  8. package/dist/index.full.mjs.map +1 -1
  9. package/dist/styles/index.css +41 -23
  10. package/dist/styles/index.css.map +1 -1
  11. package/es/components/avatar/src/avatar.d.ts +4 -4
  12. package/es/components/avatar/src/avatar.mjs +1 -1
  13. package/es/components/avatar/src/avatar.mjs.map +1 -1
  14. package/es/components/button/src/button.mjs.map +1 -1
  15. package/es/components/carNumber/src/carNumber.d.ts +13 -5
  16. package/es/components/carNumber/src/carNumber.mjs +1 -1
  17. package/es/components/carNumber/src/carNumber.mjs.map +1 -1
  18. package/es/components/contextMenu/src/contextMenu.mjs +1 -1
  19. package/es/components/contextMenu/src/contextMenu.mjs.map +1 -1
  20. package/es/components/dialog/src/dialog.d.ts +4 -4
  21. package/es/components/dialog/src/dialog.mjs +1 -1
  22. package/es/components/dialog/src/dialog.mjs.map +1 -1
  23. package/es/components/drawer/src/drawer.d.ts +12 -4
  24. package/es/components/drawer/src/drawer.mjs +1 -1
  25. package/es/components/drawer/src/drawer.mjs.map +1 -1
  26. package/es/components/form/src/form.mjs +1 -1
  27. package/es/components/form/src/form.mjs.map +1 -1
  28. package/es/components/form/src/formItem.mjs +1 -1
  29. package/es/components/form/src/formItem.mjs.map +1 -1
  30. package/es/components/formItemTip/src/formItemTip.mjs +1 -1
  31. package/es/components/formItemTip/src/formItemTip.mjs.map +1 -1
  32. package/es/components/icon/src/icon.mjs +1 -1
  33. package/es/components/icon/src/icon.mjs.map +1 -1
  34. package/es/components/iconSelector/src/iconSelector.mjs +1 -1
  35. package/es/components/iconSelector/src/iconSelector.mjs.map +1 -1
  36. package/es/components/image/src/image.mjs +1 -1
  37. package/es/components/image/src/image.mjs.map +1 -1
  38. package/es/components/index.d.ts +1 -0
  39. package/es/components/index.mjs +1 -1
  40. package/es/components/inputDialogPage/index.d.ts +14 -0
  41. package/es/components/inputDialogPage/index.mjs +2 -0
  42. package/es/components/inputDialogPage/index.mjs.map +1 -0
  43. package/es/components/inputDialogPage/src/inputDialogPage.d.ts +131 -0
  44. package/es/components/inputDialogPage/src/inputDialogPage.mjs +2 -0
  45. package/es/components/inputDialogPage/src/inputDialogPage.mjs.map +1 -0
  46. package/es/components/layoutGrid/src/layoutGrid.mjs +1 -1
  47. package/es/components/layoutGrid/src/layoutGrid.mjs.map +1 -1
  48. package/es/components/layoutGrid/src/layoutGridItem.d.ts +6 -6
  49. package/es/components/layoutGrid/src/layoutGridItem.mjs +1 -1
  50. package/es/components/layoutGrid/src/layoutGridItem.mjs.map +1 -1
  51. package/es/components/select/src/select.d.ts +39 -34
  52. package/es/components/select/src/select.mjs +1 -1
  53. package/es/components/select/src/select.mjs.map +1 -1
  54. package/es/components/select/src/selectOption.mjs +1 -1
  55. package/es/components/select/src/selectOption.mjs.map +1 -1
  56. package/es/components/selectPage/src/selectPage.d.ts +39 -25
  57. package/es/components/selectPage/src/selectPage.mjs +1 -1
  58. package/es/components/selectPage/src/selectPage.mjs.map +1 -1
  59. package/es/components/selectV2/src/selectV2.d.ts +28 -35
  60. package/es/components/selectV2/src/selectV2.mjs +1 -1
  61. package/es/components/selectV2/src/selectV2.mjs.map +1 -1
  62. package/es/components/table/src/table.d.ts +6 -6
  63. package/es/components/table/src/table.mjs +1 -1
  64. package/es/components/table/src/table.mjs.map +1 -1
  65. package/es/components/table/src/table.type.d.ts +1 -1
  66. package/es/components/table/src/table.type.mjs.map +1 -1
  67. package/es/components/table/src/tableColumn.mjs +1 -1
  68. package/es/components/table/src/tableColumn.mjs.map +1 -1
  69. package/es/components/table/src/tableColumnSettingDialog.mjs +1 -1
  70. package/es/components/table/src/tableColumnSettingDialog.mjs.map +1 -1
  71. package/es/components/table/src/useTable.mjs +1 -1
  72. package/es/components/table/src/useTable.mjs.map +1 -1
  73. package/es/components/table/utils/table.mjs +1 -1
  74. package/es/components/table/utils/table.mjs.map +1 -1
  75. package/es/components/tree/src/tree.d.ts +68 -174
  76. package/es/components/tree/src/tree.mjs +1 -1
  77. package/es/components/tree/src/tree.mjs.map +1 -1
  78. package/es/components/treeSelect/src/treeSelect.d.ts +123 -221
  79. package/es/components/treeSelect/src/treeSelect.mjs +1 -1
  80. package/es/components/treeSelect/src/treeSelect.mjs.map +1 -1
  81. package/es/directives/click-copy/index.mjs.map +1 -1
  82. package/es/directives/click-debounce/index.mjs.map +1 -1
  83. package/es/directives/click-draggable/index.mjs.map +1 -1
  84. package/es/directives/click-icon-copy/index.mjs.map +1 -1
  85. package/es/directives/click-longpress/index.mjs.map +1 -1
  86. package/es/directives/click-throttle/index.mjs.map +1 -1
  87. package/es/index.mjs +1 -1
  88. package/es/index.mjs.map +1 -1
  89. package/es/make-installer.mjs +1 -1
  90. package/es/make-installer.mjs.map +1 -1
  91. package/es/node_modules/.pnpm/@sxzz_popperjs-es@2.11.7/node_modules/@sxzz/popperjs-es/dist/index.mjs +2 -0
  92. package/es/node_modules/.pnpm/@sxzz_popperjs-es@2.11.7/node_modules/@sxzz/popperjs-es/dist/index.mjs.map +1 -0
  93. package/es/node_modules/.pnpm/@vue_shared@3.5.26/node_modules/@vue/shared/dist/shared.esm-bundler.mjs +2 -0
  94. package/es/node_modules/.pnpm/@vue_shared@3.5.26/node_modules/@vue/shared/dist/shared.esm-bundler.mjs.map +1 -0
  95. package/es/node_modules/.pnpm/element-plus@2.13.0_vue@3.5.26_typescript@5.9.3_/node_modules/element-plus/es/components/popper/src/arrow.mjs +2 -0
  96. package/es/node_modules/.pnpm/element-plus@2.13.0_vue@3.5.26_typescript@5.9.3_/node_modules/element-plus/es/components/popper/src/arrow.mjs.map +1 -0
  97. package/es/node_modules/.pnpm/element-plus@2.13.0_vue@3.5.26_typescript@5.9.3_/node_modules/element-plus/es/components/popper/src/content.mjs +2 -0
  98. package/es/node_modules/.pnpm/element-plus@2.13.0_vue@3.5.26_typescript@5.9.3_/node_modules/element-plus/es/components/popper/src/content.mjs.map +1 -0
  99. package/es/node_modules/.pnpm/element-plus@2.13.0_vue@3.5.26_typescript@5.9.3_/node_modules/element-plus/es/components/select-v2/src/defaults.mjs +2 -0
  100. package/es/node_modules/.pnpm/element-plus@2.13.0_vue@3.5.26_typescript@5.9.3_/node_modules/element-plus/es/components/select-v2/src/defaults.mjs.map +1 -0
  101. package/es/node_modules/.pnpm/element-plus@2.13.0_vue@3.5.26_typescript@5.9.3_/node_modules/element-plus/es/components/select-v2/src/useProps.mjs +2 -0
  102. package/es/node_modules/.pnpm/element-plus@2.13.0_vue@3.5.26_typescript@5.9.3_/node_modules/element-plus/es/components/select-v2/src/useProps.mjs.map +1 -0
  103. package/es/node_modules/.pnpm/element-plus@2.13.0_vue@3.5.26_typescript@5.9.3_/node_modules/element-plus/es/components/tag/src/tag.mjs +2 -0
  104. package/es/node_modules/.pnpm/element-plus@2.13.0_vue@3.5.26_typescript@5.9.3_/node_modules/element-plus/es/components/tag/src/tag.mjs.map +1 -0
  105. package/es/node_modules/.pnpm/element-plus@2.13.0_vue@3.5.26_typescript@5.9.3_/node_modules/element-plus/es/components/teleport/src/teleport.mjs +2 -0
  106. package/es/node_modules/.pnpm/element-plus@2.13.0_vue@3.5.26_typescript@5.9.3_/node_modules/element-plus/es/components/teleport/src/teleport.mjs.map +1 -0
  107. package/es/node_modules/.pnpm/element-plus@2.13.0_vue@3.5.26_typescript@5.9.3_/node_modules/element-plus/es/components/tooltip/src/content.mjs +2 -0
  108. package/es/node_modules/.pnpm/element-plus@2.13.0_vue@3.5.26_typescript@5.9.3_/node_modules/element-plus/es/components/tooltip/src/content.mjs.map +1 -0
  109. package/es/node_modules/.pnpm/element-plus@2.13.0_vue@3.5.26_typescript@5.9.3_/node_modules/element-plus/es/constants/event.mjs +2 -0
  110. package/es/node_modules/.pnpm/element-plus@2.13.0_vue@3.5.26_typescript@5.9.3_/node_modules/element-plus/es/constants/event.mjs.map +1 -0
  111. package/es/node_modules/.pnpm/element-plus@2.13.0_vue@3.5.26_typescript@5.9.3_/node_modules/element-plus/es/constants/size.mjs +2 -0
  112. package/es/node_modules/.pnpm/element-plus@2.13.0_vue@3.5.26_typescript@5.9.3_/node_modules/element-plus/es/constants/size.mjs.map +1 -0
  113. package/es/node_modules/.pnpm/element-plus@2.13.0_vue@3.5.26_typescript@5.9.3_/node_modules/element-plus/es/hooks/use-aria/index.mjs +2 -0
  114. package/es/node_modules/.pnpm/element-plus@2.13.0_vue@3.5.26_typescript@5.9.3_/node_modules/element-plus/es/hooks/use-aria/index.mjs.map +1 -0
  115. package/es/node_modules/.pnpm/element-plus@2.13.0_vue@3.5.26_typescript@5.9.3_/node_modules/element-plus/es/hooks/use-delayed-toggle/index.mjs +2 -0
  116. package/es/node_modules/.pnpm/element-plus@2.13.0_vue@3.5.26_typescript@5.9.3_/node_modules/element-plus/es/hooks/use-delayed-toggle/index.mjs.map +1 -0
  117. package/es/node_modules/.pnpm/element-plus@2.13.0_vue@3.5.26_typescript@5.9.3_/node_modules/element-plus/es/hooks/use-empty-values/index.mjs +2 -0
  118. package/es/node_modules/.pnpm/element-plus@2.13.0_vue@3.5.26_typescript@5.9.3_/node_modules/element-plus/es/hooks/use-empty-values/index.mjs.map +1 -0
  119. package/es/node_modules/.pnpm/element-plus@2.13.0_vue@3.5.26_typescript@5.9.3_/node_modules/element-plus/es/hooks/use-size/index.mjs +2 -0
  120. package/es/node_modules/.pnpm/element-plus@2.13.0_vue@3.5.26_typescript@5.9.3_/node_modules/element-plus/es/hooks/use-size/index.mjs.map +1 -0
  121. package/es/node_modules/.pnpm/element-plus@2.13.0_vue@3.5.26_typescript@5.9.3_/node_modules/element-plus/es/hooks/use-timeout/index.mjs +2 -0
  122. package/es/node_modules/.pnpm/element-plus@2.13.0_vue@3.5.26_typescript@5.9.3_/node_modules/element-plus/es/hooks/use-timeout/index.mjs.map +1 -0
  123. package/es/node_modules/.pnpm/element-plus@2.13.0_vue@3.5.26_typescript@5.9.3_/node_modules/element-plus/es/utils/error.mjs +2 -0
  124. package/es/node_modules/.pnpm/element-plus@2.13.0_vue@3.5.26_typescript@5.9.3_/node_modules/element-plus/es/utils/error.mjs.map +1 -0
  125. package/es/node_modules/.pnpm/element-plus@2.13.0_vue@3.5.26_typescript@5.9.3_/node_modules/element-plus/es/utils/types.mjs +2 -0
  126. package/es/node_modules/.pnpm/element-plus@2.13.0_vue@3.5.26_typescript@5.9.3_/node_modules/element-plus/es/utils/types.mjs.map +1 -0
  127. package/es/node_modules/.pnpm/element-plus@2.13.0_vue@3.5.26_typescript@5.9.3_/node_modules/element-plus/es/utils/vue/icon.mjs +2 -0
  128. package/es/node_modules/.pnpm/element-plus@2.13.0_vue@3.5.26_typescript@5.9.3_/node_modules/element-plus/es/utils/vue/icon.mjs.map +1 -0
  129. package/es/node_modules/.pnpm/element-plus@2.13.0_vue@3.5.26_typescript@5.9.3_/node_modules/element-plus/es/utils/vue/props/runtime.mjs +2 -0
  130. package/es/node_modules/.pnpm/element-plus@2.13.0_vue@3.5.26_typescript@5.9.3_/node_modules/element-plus/es/utils/vue/props/runtime.mjs.map +1 -0
  131. package/es/version.d.ts +1 -1
  132. package/es/version.mjs +1 -1
  133. package/es/version.mjs.map +1 -1
  134. package/lib/components/avatar/src/avatar.d.ts +4 -4
  135. package/lib/components/avatar/src/avatar.js +1 -1
  136. package/lib/components/avatar/src/avatar.js.map +1 -1
  137. package/lib/components/button/src/button.js.map +1 -1
  138. package/lib/components/carNumber/src/carNumber.d.ts +13 -5
  139. package/lib/components/carNumber/src/carNumber.js +1 -1
  140. package/lib/components/carNumber/src/carNumber.js.map +1 -1
  141. package/lib/components/contextMenu/src/contextMenu.js +1 -1
  142. package/lib/components/contextMenu/src/contextMenu.js.map +1 -1
  143. package/lib/components/dialog/src/dialog.d.ts +4 -4
  144. package/lib/components/dialog/src/dialog.js +1 -1
  145. package/lib/components/dialog/src/dialog.js.map +1 -1
  146. package/lib/components/drawer/src/drawer.d.ts +12 -4
  147. package/lib/components/drawer/src/drawer.js +1 -1
  148. package/lib/components/drawer/src/drawer.js.map +1 -1
  149. package/lib/components/form/src/form.js +1 -1
  150. package/lib/components/form/src/form.js.map +1 -1
  151. package/lib/components/form/src/formItem.js +1 -1
  152. package/lib/components/form/src/formItem.js.map +1 -1
  153. package/lib/components/formItemTip/src/formItemTip.js +1 -1
  154. package/lib/components/formItemTip/src/formItemTip.js.map +1 -1
  155. package/lib/components/icon/src/icon.js +1 -1
  156. package/lib/components/icon/src/icon.js.map +1 -1
  157. package/lib/components/iconSelector/src/iconSelector.js +1 -1
  158. package/lib/components/iconSelector/src/iconSelector.js.map +1 -1
  159. package/lib/components/image/src/image.js +1 -1
  160. package/lib/components/image/src/image.js.map +1 -1
  161. package/lib/components/index.d.ts +1 -0
  162. package/lib/components/index.js +1 -1
  163. package/lib/components/inputDialogPage/index.d.ts +14 -0
  164. package/lib/components/inputDialogPage/index.js +2 -0
  165. package/lib/components/inputDialogPage/index.js.map +1 -0
  166. package/lib/components/inputDialogPage/src/inputDialogPage.d.ts +131 -0
  167. package/lib/components/inputDialogPage/src/inputDialogPage.js +2 -0
  168. package/lib/components/inputDialogPage/src/inputDialogPage.js.map +1 -0
  169. package/lib/components/layoutGrid/src/layoutGrid.js +1 -1
  170. package/lib/components/layoutGrid/src/layoutGrid.js.map +1 -1
  171. package/lib/components/layoutGrid/src/layoutGridItem.d.ts +6 -6
  172. package/lib/components/layoutGrid/src/layoutGridItem.js +1 -1
  173. package/lib/components/layoutGrid/src/layoutGridItem.js.map +1 -1
  174. package/lib/components/select/src/select.d.ts +39 -34
  175. package/lib/components/select/src/select.js +1 -1
  176. package/lib/components/select/src/select.js.map +1 -1
  177. package/lib/components/select/src/selectOption.js +1 -1
  178. package/lib/components/select/src/selectOption.js.map +1 -1
  179. package/lib/components/selectPage/src/selectPage.d.ts +39 -25
  180. package/lib/components/selectPage/src/selectPage.js +1 -1
  181. package/lib/components/selectPage/src/selectPage.js.map +1 -1
  182. package/lib/components/selectV2/src/selectV2.d.ts +28 -35
  183. package/lib/components/selectV2/src/selectV2.js +1 -1
  184. package/lib/components/selectV2/src/selectV2.js.map +1 -1
  185. package/lib/components/table/src/table.d.ts +6 -6
  186. package/lib/components/table/src/table.js +1 -1
  187. package/lib/components/table/src/table.js.map +1 -1
  188. package/lib/components/table/src/table.type.d.ts +1 -1
  189. package/lib/components/table/src/table.type.js.map +1 -1
  190. package/lib/components/table/src/tableColumn.js +1 -1
  191. package/lib/components/table/src/tableColumn.js.map +1 -1
  192. package/lib/components/table/src/tableColumnSettingDialog.js +1 -1
  193. package/lib/components/table/src/tableColumnSettingDialog.js.map +1 -1
  194. package/lib/components/table/src/useTable.js.map +1 -1
  195. package/lib/components/table/utils/table.js +1 -1
  196. package/lib/components/table/utils/table.js.map +1 -1
  197. package/lib/components/tree/src/tree.d.ts +68 -174
  198. package/lib/components/tree/src/tree.js +1 -1
  199. package/lib/components/tree/src/tree.js.map +1 -1
  200. package/lib/components/treeSelect/src/treeSelect.d.ts +123 -221
  201. package/lib/components/treeSelect/src/treeSelect.js +1 -1
  202. package/lib/components/treeSelect/src/treeSelect.js.map +1 -1
  203. package/lib/directives/click-copy/index.js.map +1 -1
  204. package/lib/directives/click-debounce/index.js.map +1 -1
  205. package/lib/directives/click-draggable/index.js.map +1 -1
  206. package/lib/directives/click-icon-copy/index.js.map +1 -1
  207. package/lib/directives/click-longpress/index.js.map +1 -1
  208. package/lib/directives/click-throttle/index.js.map +1 -1
  209. package/lib/index.js +1 -1
  210. package/lib/index.js.map +1 -1
  211. package/lib/make-installer.js.map +1 -1
  212. package/lib/node_modules/.pnpm/@sxzz_popperjs-es@2.11.7/node_modules/@sxzz/popperjs-es/dist/index.js +2 -0
  213. package/lib/node_modules/.pnpm/@sxzz_popperjs-es@2.11.7/node_modules/@sxzz/popperjs-es/dist/index.js.map +1 -0
  214. package/lib/node_modules/.pnpm/@vue_shared@3.5.26/node_modules/@vue/shared/dist/shared.esm-bundler.js +2 -0
  215. package/lib/node_modules/.pnpm/@vue_shared@3.5.26/node_modules/@vue/shared/dist/shared.esm-bundler.js.map +1 -0
  216. package/lib/node_modules/.pnpm/element-plus@2.13.0_vue@3.5.26_typescript@5.9.3_/node_modules/element-plus/es/components/popper/src/arrow.js +2 -0
  217. package/lib/node_modules/.pnpm/element-plus@2.13.0_vue@3.5.26_typescript@5.9.3_/node_modules/element-plus/es/components/popper/src/arrow.js.map +1 -0
  218. package/lib/node_modules/.pnpm/element-plus@2.13.0_vue@3.5.26_typescript@5.9.3_/node_modules/element-plus/es/components/popper/src/content.js +2 -0
  219. package/lib/node_modules/.pnpm/element-plus@2.13.0_vue@3.5.26_typescript@5.9.3_/node_modules/element-plus/es/components/popper/src/content.js.map +1 -0
  220. package/lib/node_modules/.pnpm/element-plus@2.13.0_vue@3.5.26_typescript@5.9.3_/node_modules/element-plus/es/components/select-v2/src/defaults.js +2 -0
  221. package/lib/node_modules/.pnpm/element-plus@2.13.0_vue@3.5.26_typescript@5.9.3_/node_modules/element-plus/es/components/select-v2/src/defaults.js.map +1 -0
  222. package/lib/node_modules/.pnpm/element-plus@2.13.0_vue@3.5.26_typescript@5.9.3_/node_modules/element-plus/es/components/select-v2/src/useProps.js +2 -0
  223. package/lib/node_modules/.pnpm/element-plus@2.13.0_vue@3.5.26_typescript@5.9.3_/node_modules/element-plus/es/components/select-v2/src/useProps.js.map +1 -0
  224. package/lib/node_modules/.pnpm/element-plus@2.13.0_vue@3.5.26_typescript@5.9.3_/node_modules/element-plus/es/components/tag/src/tag.js +2 -0
  225. package/lib/node_modules/.pnpm/element-plus@2.13.0_vue@3.5.26_typescript@5.9.3_/node_modules/element-plus/es/components/tag/src/tag.js.map +1 -0
  226. package/lib/node_modules/.pnpm/element-plus@2.13.0_vue@3.5.26_typescript@5.9.3_/node_modules/element-plus/es/components/teleport/src/teleport.js +2 -0
  227. package/lib/node_modules/.pnpm/element-plus@2.13.0_vue@3.5.26_typescript@5.9.3_/node_modules/element-plus/es/components/teleport/src/teleport.js.map +1 -0
  228. package/lib/node_modules/.pnpm/element-plus@2.13.0_vue@3.5.26_typescript@5.9.3_/node_modules/element-plus/es/components/tooltip/src/content.js +2 -0
  229. package/lib/node_modules/.pnpm/element-plus@2.13.0_vue@3.5.26_typescript@5.9.3_/node_modules/element-plus/es/components/tooltip/src/content.js.map +1 -0
  230. package/lib/node_modules/.pnpm/element-plus@2.13.0_vue@3.5.26_typescript@5.9.3_/node_modules/element-plus/es/constants/event.js +2 -0
  231. package/lib/node_modules/.pnpm/element-plus@2.13.0_vue@3.5.26_typescript@5.9.3_/node_modules/element-plus/es/constants/event.js.map +1 -0
  232. package/lib/node_modules/.pnpm/element-plus@2.13.0_vue@3.5.26_typescript@5.9.3_/node_modules/element-plus/es/constants/size.js +2 -0
  233. package/lib/node_modules/.pnpm/element-plus@2.13.0_vue@3.5.26_typescript@5.9.3_/node_modules/element-plus/es/constants/size.js.map +1 -0
  234. package/lib/node_modules/.pnpm/element-plus@2.13.0_vue@3.5.26_typescript@5.9.3_/node_modules/element-plus/es/hooks/use-aria/index.js +2 -0
  235. package/lib/node_modules/.pnpm/element-plus@2.13.0_vue@3.5.26_typescript@5.9.3_/node_modules/element-plus/es/hooks/use-aria/index.js.map +1 -0
  236. package/lib/node_modules/.pnpm/element-plus@2.13.0_vue@3.5.26_typescript@5.9.3_/node_modules/element-plus/es/hooks/use-delayed-toggle/index.js +2 -0
  237. package/lib/node_modules/.pnpm/element-plus@2.13.0_vue@3.5.26_typescript@5.9.3_/node_modules/element-plus/es/hooks/use-delayed-toggle/index.js.map +1 -0
  238. package/lib/node_modules/.pnpm/element-plus@2.13.0_vue@3.5.26_typescript@5.9.3_/node_modules/element-plus/es/hooks/use-empty-values/index.js +2 -0
  239. package/lib/node_modules/.pnpm/element-plus@2.13.0_vue@3.5.26_typescript@5.9.3_/node_modules/element-plus/es/hooks/use-empty-values/index.js.map +1 -0
  240. package/lib/node_modules/.pnpm/element-plus@2.13.0_vue@3.5.26_typescript@5.9.3_/node_modules/element-plus/es/hooks/use-size/index.js +2 -0
  241. package/lib/node_modules/.pnpm/element-plus@2.13.0_vue@3.5.26_typescript@5.9.3_/node_modules/element-plus/es/hooks/use-size/index.js.map +1 -0
  242. package/lib/node_modules/.pnpm/element-plus@2.13.0_vue@3.5.26_typescript@5.9.3_/node_modules/element-plus/es/hooks/use-timeout/index.js +2 -0
  243. package/lib/node_modules/.pnpm/element-plus@2.13.0_vue@3.5.26_typescript@5.9.3_/node_modules/element-plus/es/hooks/use-timeout/index.js.map +1 -0
  244. package/lib/node_modules/.pnpm/element-plus@2.13.0_vue@3.5.26_typescript@5.9.3_/node_modules/element-plus/es/utils/error.js +2 -0
  245. package/lib/node_modules/.pnpm/element-plus@2.13.0_vue@3.5.26_typescript@5.9.3_/node_modules/element-plus/es/utils/error.js.map +1 -0
  246. package/lib/node_modules/.pnpm/element-plus@2.13.0_vue@3.5.26_typescript@5.9.3_/node_modules/element-plus/es/utils/types.js +2 -0
  247. package/lib/node_modules/.pnpm/element-plus@2.13.0_vue@3.5.26_typescript@5.9.3_/node_modules/element-plus/es/utils/types.js.map +1 -0
  248. package/lib/node_modules/.pnpm/element-plus@2.13.0_vue@3.5.26_typescript@5.9.3_/node_modules/element-plus/es/utils/vue/icon.js +2 -0
  249. package/lib/node_modules/.pnpm/element-plus@2.13.0_vue@3.5.26_typescript@5.9.3_/node_modules/element-plus/es/utils/vue/icon.js.map +1 -0
  250. package/lib/node_modules/.pnpm/element-plus@2.13.0_vue@3.5.26_typescript@5.9.3_/node_modules/element-plus/es/utils/vue/props/runtime.js +2 -0
  251. package/lib/node_modules/.pnpm/element-plus@2.13.0_vue@3.5.26_typescript@5.9.3_/node_modules/element-plus/es/utils/vue/props/runtime.js.map +1 -0
  252. package/lib/version.d.ts +1 -1
  253. package/lib/version.js +1 -1
  254. package/lib/version.js.map +1 -1
  255. package/package.json +3 -3
  256. package/styles/components/dialog.scss +1 -1
  257. package/styles/components/select.scss +35 -0
  258. package/styles/components/selectPage.scss +0 -30
  259. package/styles/components/table.scss +1 -1
  260. package/styles/components/tree.scss +17 -2
  261. package/styles/index.scss +1 -0
  262. package/types/components.d.ts +110 -1
@@ -1 +1 @@
1
- {"version":3,"file":"dialog.mjs","sources":["../../../../../packages/components/dialog/src/dialog.tsx"],"sourcesContent":["import { Fragment, computed, defineComponent, nextTick, reactive, ref, watch } from \"vue\";\nimport { ElButton, ElDialog, ElIcon, ElMessage, ElMessageBox, ElScrollbar, dialogEmits, dialogProps, useGlobalSize } from \"element-plus\";\nimport { Close, Eleme, Refresh } from \"@element-plus/icons-vue\";\nimport { FullScreen, FullScreenExit } from \"@fast-element-plus/icons-vue\";\nimport { consoleError, definePropType, execFunction, makeSlots, useExpose, useProps, useRender } from \"@fast-china/utils\";\nimport { isBoolean } from \"lodash-unified\";\nimport type { DialogInstance } from \"element-plus\";\nimport type { VNode } from \"vue\";\n\nexport const faDialogProps = {\n\t...dialogProps,\n\t/** @description whether to align the dialog both horizontally and vertically*/\n\talignCenter: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description whether to append Dialog itself to body. A nested Dialog should have this attribute set to `true` */\n\tappendToBody: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description enable dragging feature for Dialog */\n\tdraggable: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description destroy elements in Dialog when closed */\n\tdestroyOnClose: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description draggable Dialog can overflow the viewport */\n\toverflow: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description value for `margin-top` of Dialog CSS, default is 15vh */\n\ttop: {\n\t\ttype: String,\n\t\tdefault: \"5vh\",\n\t},\n\t/** @description width of Dialog, default is 50% */\n\twidth: {\n\t\ttype: [String, Number],\n\t\tdefault: \"90%\",\n\t},\n\t/** @description 显示刷新按钮 */\n\tshowRefresh: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description 显示全屏图标 */\n\tshowFullscreen: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description 显示关闭按钮 */\n\tshowCloseButton: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description 显示确认按钮 */\n\tshowConfirmButton: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description 禁用确认按钮 */\n\tdisabledConfirmButton: Boolean,\n\t/** @description 关闭按钮文字,默认取消 */\n\tcloseButtonText: {\n\t\ttype: String,\n\t\tdefault: \"取消\",\n\t},\n\t/** @description 确认按钮文字,默认确认 */\n\tconfirmButtonText: {\n\t\ttype: String,\n\t\tdefault: \"确认\",\n\t},\n\t/** @description 隐藏底部操作 */\n\thideFooter: Boolean,\n\t/** @description 撑满高度 */\n\tfillHeight: Boolean,\n\t/** @description 显示关闭回调 */\n\tshowBeforeClose: Boolean,\n\t/** @description 打开之后 */\n\tafterOpen: {\n\t\ttype: definePropType<() => void>(Function),\n\t},\n};\n\nexport const faDialogEmits = {\n\t...dialogEmits,\n\t/** @description v-model 回调 */\n\t\"update:modelValue\": (value: boolean): boolean => isBoolean(value),\n\t/** @description 确认按钮点击事件 */\n\tconfirmClick: (): boolean => true,\n};\n\ntype FaDialogSlots = {\n\t/** @description 默认内容插槽 */\n\tdefault: { loading: boolean };\n\t/** @description 头部插槽 */\n\theader: { loading: boolean; close: () => void };\n\t/** @description 底部插槽 */\n\tfooter: { loading: boolean; close: () => void };\n};\n\nexport default defineComponent({\n\tname: \"FaDialog\",\n\tprops: faDialogProps,\n\temits: faDialogEmits,\n\tslots: makeSlots<FaDialogSlots>(),\n\tsetup(props, { attrs, slots, emit, expose }) {\n\t\tconst _globalSize = useGlobalSize();\n\n\t\tconst state = reactive({\n\t\t\tloading: false,\n\t\t\tvisible: false,\n\t\t\tfullscreen: false,\n\t\t\trefreshing: false,\n\t\t});\n\n\t\tconst dialogRef = ref<DialogInstance>();\n\n\t\tlet cacheOpenFunction = undefined;\n\n\t\tconst handleOpen = (openFunction?: () => void | Promise<void>): void => {\n\t\t\tstate.visible = true;\n\t\t\tcacheOpenFunction = openFunction;\n\t\t\tnextTick(() => {\n\t\t\t\tstate.loading = true;\n\t\t\t\texecFunction(props.afterOpen ?? openFunction)\n\t\t\t\t\t.then(() => {\n\t\t\t\t\t\temit(\"open\");\n\t\t\t\t\t})\n\t\t\t\t\t.catch((error) => {\n\t\t\t\t\t\tconsoleError(\"FaDialog\", error);\n\t\t\t\t\t\t// 自动关闭\n\t\t\t\t\t\tstate.visible = false;\n\t\t\t\t\t})\n\t\t\t\t\t.finally(() => {\n\t\t\t\t\t\tstate.loading = false;\n\t\t\t\t\t});\n\t\t\t});\n\t\t};\n\n\t\tconst handleClose = (closeFunction?: () => void | Promise<void>): void => {\n\t\t\tstate.loading = true;\n\t\t\texecFunction(closeFunction)\n\t\t\t\t.then(() => {\n\t\t\t\t\temit(\"close\");\n\t\t\t\t\tstate.visible = false;\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tconsoleError(\"FaDialog\", error);\n\t\t\t\t})\n\t\t\t\t.finally(() => {\n\t\t\t\t\tstate.loading = false;\n\t\t\t\t});\n\t\t};\n\n\t\tconst handleLoading = (loadingFunction: () => void | Promise<void>): void => {\n\t\t\tstate.loading = true;\n\t\t\texecFunction(loadingFunction)\n\t\t\t\t.then()\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tconsoleError(\"FaDialog\", error);\n\t\t\t\t})\n\t\t\t\t.finally(() => {\n\t\t\t\t\tstate.loading = false;\n\t\t\t\t});\n\t\t};\n\n\t\tconst handleRefresh = (): void => {\n\t\t\tif (state.loading) return;\n\t\t\tstate.refreshing = true;\n\t\t\tstate.loading = true;\n\t\t\tsetTimeout(() => {\n\t\t\t\tstate.refreshing = false;\n\t\t\t\thandleOpen(cacheOpenFunction);\n\t\t\t\tElMessage.success(\"刷新成功\");\n\t\t\t}, 500);\n\t\t};\n\n\t\tconst handleBeforeClose = (done: () => void): void => {\n\t\t\tif (state.loading) return;\n\t\t\t// 解决 image 预览摁下 ese 会关闭弹窗的问题\n\t\t\tif (document.querySelector(\".el-image-viewer__wrapper\")) return;\n\n\t\t\tconst newDone = (): void => {\n\t\t\t\texecFunction(props.beforeClose)\n\t\t\t\t\t.then(() => {\n\t\t\t\t\t\temit(\"close\");\n\t\t\t\t\t\tdone();\n\t\t\t\t\t})\n\t\t\t\t\t.catch((error) => {\n\t\t\t\t\t\tconsoleError(\"FaDialog\", error);\n\t\t\t\t\t});\n\t\t\t};\n\n\t\t\tif (props.showBeforeClose) {\n\t\t\t\tElMessageBox.confirm(\"确定关闭?\", { type: \"warning\" }).then(() => {\n\t\t\t\t\tnewDone();\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tnewDone();\n\t\t\t}\n\t\t};\n\n\t\tconst handleFullscreen = (): void => {\n\t\t\tif (state.loading) return;\n\t\t\tstate.fullscreen = !state.fullscreen;\n\t\t};\n\n\t\tconst handleConfirmClick = (): void => {\n\t\t\tif (state.loading) return;\n\t\t\temit(\"confirmClick\");\n\t\t};\n\n\t\tconst handleCloseClick = (): void => {\n\t\t\tif (state.loading) return;\n\t\t\thandleClose();\n\t\t};\n\n\t\twatch(\n\t\t\t() => state.visible,\n\t\t\t(newValue) => {\n\t\t\t\temit(\"update:modelValue\", newValue);\n\t\t\t}\n\t\t);\n\n\t\tconst elDialogProps = useProps(props, dialogProps, [\"modelValue\", \"fullscreen\", \"showClose\", \"beforeClose\"]);\n\n\t\tuseRender(() => (\n\t\t\t<ElDialog\n\t\t\t\t{...elDialogProps.value}\n\t\t\t\tref={dialogRef}\n\t\t\t\tclass={[\n\t\t\t\t\t\"fa-dialog\",\n\t\t\t\t\t`fa-dialog-${_globalSize.value}`,\n\t\t\t\t\t{ \"fa-dialog__fill-height\": props.fillHeight, \"fa-dialog__fullscreen\": state.fullscreen },\n\t\t\t\t]}\n\t\t\t\tvModel={state.visible}\n\t\t\t\tfullscreen={state.fullscreen}\n\t\t\t\tshowClose={false}\n\t\t\t\tbeforeClose={handleBeforeClose}\n\t\t\t\tonOpened={() => emit(\"opened\")}\n\t\t\t\tonClosed={() => emit(\"closed\")}\n\t\t\t\tonOpenAutoFocus={() => emit(\"openAutoFocus\")}\n\t\t\t\tonCloseAutoFocus={() => emit(\"closeAutoFocus\")}\n\t\t\t>\n\t\t\t\t{{\n\t\t\t\t\theader: () => (\n\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t<div class=\"fa-dialog__header-title\">\n\t\t\t\t\t\t\t\t{props.title}\n\t\t\t\t\t\t\t\t{slots.header && slots.header({ loading: state.loading, close: handleCloseClick })}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t{props.showRefresh && (\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\ttitle=\"刷新\"\n\t\t\t\t\t\t\t\t\tclass={[\n\t\t\t\t\t\t\t\t\t\t\"fa-dialog__header-icon\",\n\t\t\t\t\t\t\t\t\t\tstate.loading ? \"fa__click__disabled fa__click__disabled__cursor \" : \"fa__hover__twinkle\",\n\t\t\t\t\t\t\t\t\t]}\n\t\t\t\t\t\t\t\t\tonClick={handleRefresh}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<ElIcon>\n\t\t\t\t\t\t\t\t\t\t<Refresh />\n\t\t\t\t\t\t\t\t\t</ElIcon>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{props.showFullscreen && (\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\ttitle={state.fullscreen ? \"关闭全屏显示\" : \"全屏显示\"}\n\t\t\t\t\t\t\t\t\tclass={[\n\t\t\t\t\t\t\t\t\t\t\"fa-dialog__header-icon\",\n\t\t\t\t\t\t\t\t\t\tstate.loading ? \"fa__click__disabled fa__click__disabled__cursor \" : \"fa__hover__twinkle\",\n\t\t\t\t\t\t\t\t\t]}\n\t\t\t\t\t\t\t\t\tonClick={handleFullscreen}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<ElIcon>{state.fullscreen ? <FullScreenExit /> : <FullScreen />}</ElIcon>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{props.showClose && (\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\ttitle=\"关闭\"\n\t\t\t\t\t\t\t\t\tclass={[\n\t\t\t\t\t\t\t\t\t\t\"fa-dialog__header-icon\",\n\t\t\t\t\t\t\t\t\t\tstate.loading ? \"fa__click__disabled fa__click__disabled__cursor \" : \"fa__hover__twinkle\",\n\t\t\t\t\t\t\t\t\t]}\n\t\t\t\t\t\t\t\t\tonClick={handleCloseClick}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<ElIcon>\n\t\t\t\t\t\t\t\t\t\t<Close />\n\t\t\t\t\t\t\t\t\t</ElIcon>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t),\n\t\t\t\t\tdefault: () => (\n\t\t\t\t\t\t<ElScrollbar vLoading={state.loading} element-loading-text=\"加载中...\">\n\t\t\t\t\t\t\t{!state.refreshing && slots.default && slots.default(state)}\n\t\t\t\t\t\t</ElScrollbar>\n\t\t\t\t\t),\n\t\t\t\t\t...(!props.hideFooter && {\n\t\t\t\t\t\tfooter: (): VNode[] => (\n\t\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t\t{slots.footer && slots.footer({ loading: state.loading, close: handleCloseClick })}\n\t\t\t\t\t\t\t\t{props.showCloseButton && (\n\t\t\t\t\t\t\t\t\t<ElButton disabled={state.loading} onClick={handleCloseClick}>\n\t\t\t\t\t\t\t\t\t\t{props.closeButtonText}\n\t\t\t\t\t\t\t\t\t</ElButton>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{props.showConfirmButton && (\n\t\t\t\t\t\t\t\t\t<ElButton\n\t\t\t\t\t\t\t\t\t\tloading={state.loading}\n\t\t\t\t\t\t\t\t\t\tloadingIcon={Eleme}\n\t\t\t\t\t\t\t\t\t\tdisabled={props.disabledConfirmButton}\n\t\t\t\t\t\t\t\t\t\ttype=\"primary\"\n\t\t\t\t\t\t\t\t\t\tonClick={handleConfirmClick}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{state.loading ? \"加载中...\" : props.confirmButtonText}\n\t\t\t\t\t\t\t\t\t</ElButton>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t),\n\t\t\t\t\t}),\n\t\t\t\t}}\n\t\t\t</ElDialog>\n\t\t));\n\n\t\treturn useExpose(expose, {\n\t\t\t/** @description 弹窗内容引用 */\n\t\t\tdialogContentRef: computed(() => dialogRef.value?.dialogContentRef),\n\t\t\t/** @description 重置位置 */\n\t\t\tresetPosition: computed(() => dialogRef.value?.resetPosition),\n\t\t\t/** @description 加载状态 */\n\t\t\tloading: computed(() => state.loading),\n\t\t\t/** @description 是否显示 */\n\t\t\tvisible: computed(() => state.visible),\n\t\t\t/** @description 打开弹窗 */\n\t\t\topen: handleOpen,\n\t\t\t/** @description 关闭弹窗 */\n\t\t\tclose: handleClose,\n\t\t\t/** @description 刷新弹窗 */\n\t\t\trefresh: handleRefresh,\n\t\t\t/** @description 弹窗加载 */\n\t\t\tdoLoading: handleLoading,\n\t\t});\n\t},\n});\n"],"names":["faDialogProps","dialogProps","alignCenter","type","Boolean","default","appendToBody","draggable","destroyOnClose","overflow","top","String","width","Number","showRefresh","showFullscreen","showCloseButton","showConfirmButton","disabledConfirmButton","closeButtonText","confirmButtonText","hideFooter","fillHeight","showBeforeClose","afterOpen","definePropType","Function","faDialogEmits","dialogEmits","value","isBoolean","confirmClick","Dialog","name","props","emits","slots","makeSlots","setup","attrs","emit","expose","_globalSize","useGlobalSize","state","reactive","loading","visible","fullscreen","refreshing","dialogRef","ref","cacheOpenFunction","handleOpen","openFunction","nextTick","execFunction","then","catch","error","consoleError","finally","handleClose","closeFunction","handleRefresh","setTimeout","ElMessage","success","handleBeforeClose","done","document","querySelector","newDone","beforeClose","ElMessageBox","confirm","handleFullscreen","handleConfirmClick","handleCloseClick","watch","newValue","elDialogProps","useProps","useRender","_createVNode","ElDialog","_mergeProps","class","modelValue","$event","showClose","onOpened","onClosed","onOpenAutoFocus","onCloseAutoFocus","header","_Fragment","title","close","onClick","ElIcon","Refresh","FullScreenExit","FullScreen","Close","_withDirectives","ElScrollbar","_resolveDirective","footer","ElButton","disabled","loadingIcon","Eleme","useExpose","dialogContentRef","computed","resetPosition","open","refresh","doLoading","loadingFunction"],"mappings":"yrBASO,MAAMA,EAAgB,IACzBC,EAEHC,YAAa,CACZC,KAAMC,QACNC,SAAS,GAGVC,aAAc,CACbH,KAAMC,QACNC,SAAS,GAGVE,UAAW,CACVJ,KAAMC,QACNC,SAAS,GAGVG,eAAgB,CACfL,KAAMC,QACNC,SAAS,GAGVI,SAAU,CACTN,KAAMC,QACNC,SAAS,GAGVK,IAAK,CACJP,KAAMQ,OACNN,QAAS,OAGVO,MAAO,CACNT,KAAM,CAACQ,OAAQE,QACfR,QAAS,OAGVS,YAAa,CACZX,KAAMC,QACNC,SAAS,GAGVU,eAAgB,CACfZ,KAAMC,QACNC,SAAS,GAGVW,gBAAiB,CAChBb,KAAMC,QACNC,SAAS,GAGVY,kBAAmB,CAClBd,KAAMC,QACNC,SAAS,GAGVa,sBAAuBd,QAEvBe,gBAAiB,CAChBhB,KAAMQ,OACNN,QAAS,MAGVe,kBAAmB,CAClBjB,KAAMQ,OACNN,QAAS,MAGVgB,WAAYjB,QAEZkB,WAAYlB,QAEZmB,gBAAiBnB,QAEjBoB,UAAW,CACVrB,KAAMsB,EAA2BC,YAItBC,EAAgB,IACzBC,EAEH,oBAAsBC,GAA4BC,EAAUD,GAE5DE,aAAcA,KAAe,GAY9BC,mBAA+B,CAC9BC,KAAM,WACNC,MAAOlC,EACPmC,MAAOR,EACPS,MAAOC,IACPC,KAAAA,CAAMJ,GAAOK,MAAEA,EAAAA,MAAOH,EAAAA,KAAOI,EAAAA,OAAMC,IAClC,MAAMC,EAAcC,IAEdC,EAAQC,EAAS,CACtBC,SAAS,EACTC,SAAS,EACTC,YAAY,EACZC,YAAY,IAGPC,EAAYC,IAElB,IAAIC,EAEJ,MAAMC,EAAcC,IACnBV,EAAMG,SAAU,EAChBK,EAAoBE,EACpBC,EAAS,KACRX,EAAME,SAAU,EAChBU,EAAatB,EAAMV,WAAa8B,GAC9BG,KAAK,KACLjB,EAAK,UAELkB,MAAOC,IACPC,EAAa,WAAYD,GAEzBf,EAAMG,SAAU,IAEhBc,QAAQ,KACRjB,EAAME,SAAU,OAKdgB,EAAeC,IACpBnB,EAAME,SAAU,EAChBU,EAAaO,GACXN,KAAK,KACLjB,EAAK,SACLI,EAAMG,SAAU,IAEhBW,MAAOC,IACPC,EAAa,WAAYD,KAEzBE,QAAQ,KACRjB,EAAME,SAAU,KAgBbkB,EAAgBA,KACjBpB,EAAME,UACVF,EAAMK,YAAa,EACnBL,EAAME,SAAU,EAChBmB,WAAW,KACVrB,EAAMK,YAAa,EACnBI,EAAWD,GACXc,EAAUC,QAAQ,SAChB,OAGEC,EAAqBC,IAC1B,GAAIzB,EAAME,QAAS,OAEnB,GAAIwB,SAASC,cAAc,6BAA8B,OAEzD,MAAMC,EAAUA,KACfhB,EAAatB,EAAMuC,aACjBhB,KAAK,KACLjB,EAAK,SACL6B,MAEAX,MAAOC,IACPC,EAAa,WAAYD,MAIxBzB,EAAMX,gBACTmD,EAAaC,QAAQ,QAAS,CAAExE,KAAM,YAAasD,KAAK,KACvDe,MAGDA,KAIII,EAAmBA,KACpBhC,EAAME,UACVF,EAAMI,YAAcJ,EAAMI,aAGrB6B,EAAqBA,KACtBjC,EAAME,SACVN,EAAK,iBAGAsC,EAAmBA,KACpBlC,EAAME,SACVgB,KAGDiB,EACC,IAAMnC,EAAMG,QACXiC,IACAxC,EAAK,oBAAqBwC,KAI5B,MAAMC,EAAgBC,EAAShD,EAAOjC,EAAa,CAAC,aAAc,aAAc,YAAa,gBAqG7F,OAnGAkF,EAAU,IAAAC,EAAAC,EAAAC,EAEJL,EAAcpD,MAAK,CAAAsB,IAClBD,EAASqC,MACP,CACN,YACA,aAAa7C,EAAYb,QACzB,CAAE,yBAA0BK,EAAMZ,WAAY,wBAAyBsB,EAAMI,aAC7EwC,WACO5C,EAAMG,QAAO,sBAAA0C,GAAb7C,EAAMG,QAAO0C,EAAAzC,WACTJ,EAAMI,WAAU0C,WACjB,EAAKjB,YACHL,EAAiBuB,SACpBA,IAAMnD,EAAK,UAASoD,SACpBA,IAAMpD,EAAK,UAASqD,gBACbA,IAAMrD,EAAK,iBAAgBsD,iBAC1BA,IAAMtD,EAAK,oBAAiB,CAG7CuD,OAAQA,IAAAX,EAAAY,QAAAZ,EAAA,MAAA,CAAAG,MAAA,2BAAA,CAGJrD,EAAM+D,MACN7D,EAAM2D,QAAU3D,EAAM2D,OAAO,CAAEjD,QAASF,EAAME,QAASoD,MAAOpB,MAE/D5C,EAAMpB,aAAWsE,EAAA,MAAA,CAAAa,MAAA,KAAAV,MAGT,CACN,yBACA3C,EAAME,QAAU,mDAAqD,sBACrEqD,QACQnC,GAAa,CAAAoB,EAAAgB,EAAA,KAAA,CAAA/F,QAAAA,IAAA,CAAA+E,EAAAiB,EAAA,KAAA,WAOvBnE,EAAMnB,gBAAcqE,EAAA,MAAA,CAAAa,MAEZrD,EAAMI,WAAa,SAAW,OAAMuC,MACpC,CACN,yBACA3C,EAAME,QAAU,mDAAqD,sBACrEqD,QACQvB,GAAgB,CAAAQ,EAAAgB,EAAA,KAAA,CAAA/F,QAAAA,IAAA,CAEhBuC,EAAMI,WAAUoC,EAAAkB,EAAA,KAAA,MAAAlB,EAAAmB,EAAA,KAAA,WAG1BrE,EAAMwD,WAASN,EAAA,MAAA,CAAAa,MAAA,KAAAV,MAGP,CACN,yBACA3C,EAAME,QAAU,mDAAqD,sBACrEqD,QACQrB,GAAgB,CAAAM,EAAAgB,EAAA,KAAA,CAAA/F,QAAAA,IAAA,CAAA+E,EAAAoB,EAAA,KAAA,aAS7BnG,QAASA,IAAAoG,EAAArB,EAAAsB,EAAA,CAAA,uBAAA,UAAA,CAAArG,QAAAA,IAAA,EAELuC,EAAMK,YAAcb,EAAM/B,SAAW+B,EAAM/B,QAAQuC,MAAM,CAAA,CAAA+D,EAAA,WADrC/D,EAAME,eAIzBZ,EAAMb,YAAc,CACxBuF,OAAQA,IAAAxB,EAAAY,EAAA,KAAA,CAEL5D,EAAMwE,QAAUxE,EAAMwE,OAAO,CAAE9D,QAASF,EAAME,QAASoD,MAAOpB,IAC9D5C,EAAMlB,iBAAeoE,EAAAyB,EAAA,CAAAC,SACDlE,EAAME,QAAOqD,QAAWrB,GAAgB,CAAAzE,QAAAA,IAAA,CAC1D6B,EAAMf,mBAGRe,EAAMjB,mBAAiBmE,EAAAyB,EAAA,CAAA/D,QAEbF,EAAME,QAAOiE,YACTC,EAAKF,SACR5E,EAAMhB,sBAAqBf,KAAA,UAAAgG,QAE5BtB,GAAkB,CAAAxE,QAAAA,IAAA,CAE1BuC,EAAME,QAAU,SAAWZ,EAAMd,2BAUnC6F,EAAUxE,EAAQ,CAExByE,iBAAkBC,EAAS,IAAMjE,EAAUrB,OAAOqF,kBAElDE,cAAeD,EAAS,IAAMjE,EAAUrB,OAAOuF,eAE/CtE,QAASqE,EAAS,IAAMvE,EAAME,SAE9BC,QAASoE,EAAS,IAAMvE,EAAMG,SAE9BsE,KAAMhE,EAEN6C,MAAOpC,EAEPwD,QAAStD,EAETuD,UA3LsBC,IACtB5E,EAAME,SAAU,EAChBU,EAAagE,GACX/D,OACAC,MAAOC,IACPC,EAAa,WAAYD,KAEzBE,QAAQ,KACRjB,EAAME,SAAU,MAqLpB"}
1
+ {"version":3,"file":"dialog.mjs","sources":["../../../../../packages/components/dialog/src/dialog.tsx"],"sourcesContent":["import { Fragment, computed, defineComponent, nextTick, reactive, ref, watch } from \"vue\";\nimport { ElButton, ElDialog, ElIcon, ElMessage, ElMessageBox, ElScrollbar, dialogEmits, dialogProps, useGlobalSize } from \"element-plus\";\nimport { Close, Eleme, Refresh } from \"@element-plus/icons-vue\";\nimport { FullScreen, FullScreenExit } from \"@fast-element-plus/icons-vue\";\nimport { consoleError, definePropType, execFunction, makeSlots, useEmits, useExpose, useProps, useRender } from \"@fast-china/utils\";\nimport { isBoolean } from \"lodash-unified\";\nimport type { DialogInstance } from \"element-plus\";\nimport type { VNode } from \"vue\";\n\nexport const faDialogProps = {\n\t...dialogProps,\n\t/** @description whether to align the dialog both horizontally and vertically*/\n\talignCenter: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description whether to append Dialog itself to body. A nested Dialog should have this attribute set to `true` */\n\tappendToBody: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description enable dragging feature for Dialog */\n\tdraggable: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description destroy elements in Dialog when closed */\n\tdestroyOnClose: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description draggable Dialog can overflow the viewport */\n\toverflow: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description value for `margin-top` of Dialog CSS, default is 15vh */\n\ttop: {\n\t\ttype: String,\n\t\tdefault: \"5vh\",\n\t},\n\t/** @description width of Dialog, default is 50% */\n\twidth: {\n\t\ttype: [String, Number],\n\t\tdefault: \"90%\",\n\t},\n\t/** @description 显示刷新按钮 */\n\tshowRefresh: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description 显示全屏图标 */\n\tshowFullscreen: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description 显示关闭按钮 */\n\tshowCloseButton: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description 显示确认按钮 */\n\tshowConfirmButton: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description 禁用确认按钮 */\n\tdisabledConfirmButton: Boolean,\n\t/** @description 关闭按钮文字,默认取消 */\n\tcloseButtonText: {\n\t\ttype: String,\n\t\tdefault: \"取消\",\n\t},\n\t/** @description 确认按钮文字,默认确认 */\n\tconfirmButtonText: {\n\t\ttype: String,\n\t\tdefault: \"确认\",\n\t},\n\t/** @description 隐藏底部操作 */\n\thideFooter: Boolean,\n\t/** @description 撑满高度 */\n\tfullHeight: Boolean,\n\t/** @description 显示关闭回调 */\n\tshowBeforeClose: Boolean,\n\t/** @description 打开之后 */\n\tafterOpen: {\n\t\ttype: definePropType<() => void>(Function),\n\t},\n};\n\nexport const faDialogEmits = {\n\t...dialogEmits,\n\t/** @description v-model 回调 */\n\t\"update:modelValue\": (value: boolean): boolean => isBoolean(value),\n\t/** @description 确认按钮点击事件 */\n\tconfirmClick: (): boolean => true,\n};\n\ntype FaDialogSlots = {\n\t/** @description 默认内容插槽 */\n\tdefault: { loading: boolean };\n\t/** @description 头部插槽 */\n\theader: { loading: boolean; close: () => void };\n\t/** @description 底部插槽 */\n\tfooter: { loading: boolean; close: () => void };\n};\n\nexport default defineComponent({\n\tname: \"FaDialog\",\n\tprops: faDialogProps,\n\temits: faDialogEmits,\n\tslots: makeSlots<FaDialogSlots>(),\n\tsetup(props, { attrs, slots, emit, expose }) {\n\t\tconst _globalSize = useGlobalSize();\n\n\t\tconst state = reactive({\n\t\t\tloading: false,\n\t\t\tvisible: false,\n\t\t\tfullscreen: false,\n\t\t\trefreshing: false,\n\t\t});\n\n\t\tconst dialogRef = ref<DialogInstance>();\n\n\t\tlet cacheOpenFunction = undefined;\n\n\t\tconst handleOpen = (openFunction?: () => void | Promise<void>): void => {\n\t\t\tstate.visible = true;\n\t\t\tcacheOpenFunction = openFunction;\n\t\t\tnextTick(() => {\n\t\t\t\tstate.loading = true;\n\t\t\t\texecFunction(props.afterOpen ?? openFunction)\n\t\t\t\t\t.then(() => {\n\t\t\t\t\t\temit(\"open\");\n\t\t\t\t\t})\n\t\t\t\t\t.catch((error) => {\n\t\t\t\t\t\tconsoleError(\"FaDialog\", error);\n\t\t\t\t\t\t// 自动关闭\n\t\t\t\t\t\tstate.visible = false;\n\t\t\t\t\t})\n\t\t\t\t\t.finally(() => {\n\t\t\t\t\t\tstate.loading = false;\n\t\t\t\t\t});\n\t\t\t});\n\t\t};\n\n\t\tconst handleClose = (closeFunction?: () => void | Promise<void>): void => {\n\t\t\tstate.loading = true;\n\t\t\texecFunction(closeFunction)\n\t\t\t\t.then(() => {\n\t\t\t\t\temit(\"close\");\n\t\t\t\t\tstate.visible = false;\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tconsoleError(\"FaDialog\", error);\n\t\t\t\t})\n\t\t\t\t.finally(() => {\n\t\t\t\t\tstate.loading = false;\n\t\t\t\t});\n\t\t};\n\n\t\tconst handleLoading = (loadingFunction: () => void | Promise<void>): void => {\n\t\t\tstate.loading = true;\n\t\t\texecFunction(loadingFunction)\n\t\t\t\t.then()\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tconsoleError(\"FaDialog\", error);\n\t\t\t\t})\n\t\t\t\t.finally(() => {\n\t\t\t\t\tstate.loading = false;\n\t\t\t\t});\n\t\t};\n\n\t\tconst handleRefresh = (): void => {\n\t\t\tif (state.loading) return;\n\t\t\tstate.refreshing = true;\n\t\t\tstate.loading = true;\n\t\t\tsetTimeout(() => {\n\t\t\t\tstate.refreshing = false;\n\t\t\t\thandleOpen(cacheOpenFunction);\n\t\t\t\tElMessage.success(\"刷新成功\");\n\t\t\t}, 500);\n\t\t};\n\n\t\tconst handleBeforeClose = (done: () => void): void => {\n\t\t\tif (state.loading) return;\n\t\t\t// 解决 image 预览摁下 ese 会关闭弹窗的问题\n\t\t\tif (document.querySelector(\".el-image-viewer__wrapper\")) return;\n\n\t\t\tconst newDone = (): void => {\n\t\t\t\texecFunction(props.beforeClose)\n\t\t\t\t\t.then(() => {\n\t\t\t\t\t\temit(\"close\");\n\t\t\t\t\t\tdone();\n\t\t\t\t\t})\n\t\t\t\t\t.catch((error) => {\n\t\t\t\t\t\tconsoleError(\"FaDialog\", error);\n\t\t\t\t\t});\n\t\t\t};\n\n\t\t\tif (props.showBeforeClose) {\n\t\t\t\tElMessageBox.confirm(\"确定关闭?\", { type: \"warning\" }).then(() => {\n\t\t\t\t\tnewDone();\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tnewDone();\n\t\t\t}\n\t\t};\n\n\t\tconst handleFullscreen = (): void => {\n\t\t\tif (state.loading) return;\n\t\t\tstate.fullscreen = !state.fullscreen;\n\t\t};\n\n\t\tconst handleConfirmClick = (): void => {\n\t\t\tif (state.loading) return;\n\t\t\temit(\"confirmClick\");\n\t\t};\n\n\t\tconst handleCloseClick = (): void => {\n\t\t\tif (state.loading) return;\n\t\t\thandleClose();\n\t\t};\n\n\t\twatch(\n\t\t\t() => state.visible,\n\t\t\t(newValue) => {\n\t\t\t\temit(\"update:modelValue\", newValue);\n\t\t\t}\n\t\t);\n\n\t\tconst elDialogProps = useProps(props, dialogProps, [\"modelValue\", \"fullscreen\", \"showClose\", \"beforeClose\"]);\n\t\tconst elDialogEmits = useEmits(dialogEmits, emit, [\"update:modelValue\"]);\n\n\t\tuseRender(() => (\n\t\t\t<ElDialog\n\t\t\t\t{...elDialogProps.value}\n\t\t\t\t{...elDialogEmits.value}\n\t\t\t\tref={dialogRef}\n\t\t\t\tclass={[\n\t\t\t\t\t\"fa-dialog\",\n\t\t\t\t\t`fa-dialog-${_globalSize.value}`,\n\t\t\t\t\t{ \"fa-dialog__full-height\": props.fullHeight, \"fa-dialog__fullscreen\": state.fullscreen },\n\t\t\t\t]}\n\t\t\t\tvModel={state.visible}\n\t\t\t\tfullscreen={state.fullscreen}\n\t\t\t\tshowClose={false}\n\t\t\t\tbeforeClose={handleBeforeClose}\n\t\t\t>\n\t\t\t\t{{\n\t\t\t\t\theader: () => (\n\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t<div class=\"fa-dialog__header-title\">\n\t\t\t\t\t\t\t\t{props.title}\n\t\t\t\t\t\t\t\t{slots.header && slots.header({ loading: state.loading, close: handleCloseClick })}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t{props.showRefresh && (\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\ttitle=\"刷新\"\n\t\t\t\t\t\t\t\t\tclass={[\n\t\t\t\t\t\t\t\t\t\t\"fa-dialog__header-icon\",\n\t\t\t\t\t\t\t\t\t\tstate.loading ? \"fa__click__disabled fa__click__disabled__cursor \" : \"fa__hover__twinkle\",\n\t\t\t\t\t\t\t\t\t]}\n\t\t\t\t\t\t\t\t\tonClick={handleRefresh}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<ElIcon>\n\t\t\t\t\t\t\t\t\t\t<Refresh />\n\t\t\t\t\t\t\t\t\t</ElIcon>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{props.showFullscreen && (\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\ttitle={state.fullscreen ? \"关闭全屏显示\" : \"全屏显示\"}\n\t\t\t\t\t\t\t\t\tclass={[\n\t\t\t\t\t\t\t\t\t\t\"fa-dialog__header-icon\",\n\t\t\t\t\t\t\t\t\t\tstate.loading ? \"fa__click__disabled fa__click__disabled__cursor \" : \"fa__hover__twinkle\",\n\t\t\t\t\t\t\t\t\t]}\n\t\t\t\t\t\t\t\t\tonClick={handleFullscreen}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<ElIcon>{state.fullscreen ? <FullScreenExit /> : <FullScreen />}</ElIcon>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{props.showClose && (\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\ttitle=\"关闭\"\n\t\t\t\t\t\t\t\t\tclass={[\n\t\t\t\t\t\t\t\t\t\t\"fa-dialog__header-icon\",\n\t\t\t\t\t\t\t\t\t\tstate.loading ? \"fa__click__disabled fa__click__disabled__cursor \" : \"fa__hover__twinkle\",\n\t\t\t\t\t\t\t\t\t]}\n\t\t\t\t\t\t\t\t\tonClick={handleCloseClick}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<ElIcon>\n\t\t\t\t\t\t\t\t\t\t<Close />\n\t\t\t\t\t\t\t\t\t</ElIcon>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t),\n\t\t\t\t\tdefault: () => (\n\t\t\t\t\t\t<ElScrollbar vLoading={state.loading} element-loading-text=\"加载中...\">\n\t\t\t\t\t\t\t{!state.refreshing && slots.default && slots.default(state)}\n\t\t\t\t\t\t</ElScrollbar>\n\t\t\t\t\t),\n\t\t\t\t\t...(!props.hideFooter && {\n\t\t\t\t\t\tfooter: (): VNode[] => (\n\t\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t\t{slots.footer && slots.footer({ loading: state.loading, close: handleCloseClick })}\n\t\t\t\t\t\t\t\t{props.showCloseButton && (\n\t\t\t\t\t\t\t\t\t<ElButton disabled={state.loading} onClick={handleCloseClick}>\n\t\t\t\t\t\t\t\t\t\t{props.closeButtonText}\n\t\t\t\t\t\t\t\t\t</ElButton>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{props.showConfirmButton && (\n\t\t\t\t\t\t\t\t\t<ElButton\n\t\t\t\t\t\t\t\t\t\tloading={state.loading}\n\t\t\t\t\t\t\t\t\t\tloadingIcon={Eleme}\n\t\t\t\t\t\t\t\t\t\tdisabled={props.disabledConfirmButton}\n\t\t\t\t\t\t\t\t\t\ttype=\"primary\"\n\t\t\t\t\t\t\t\t\t\tonClick={handleConfirmClick}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{state.loading ? \"加载中...\" : props.confirmButtonText}\n\t\t\t\t\t\t\t\t\t</ElButton>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t),\n\t\t\t\t\t}),\n\t\t\t\t}}\n\t\t\t</ElDialog>\n\t\t));\n\n\t\treturn useExpose(expose, {\n\t\t\t/** @description 弹窗内容引用 */\n\t\t\tdialogContentRef: computed(() => dialogRef.value?.dialogContentRef),\n\t\t\t/** @description 重置位置 */\n\t\t\tresetPosition: computed(() => dialogRef.value?.resetPosition),\n\t\t\t/** @description 加载状态 */\n\t\t\tloading: computed(() => state.loading),\n\t\t\t/** @description 是否显示 */\n\t\t\tvisible: computed(() => state.visible),\n\t\t\t/** @description 打开弹窗 */\n\t\t\topen: handleOpen,\n\t\t\t/** @description 关闭弹窗 */\n\t\t\tclose: handleClose,\n\t\t\t/** @description 刷新弹窗 */\n\t\t\trefresh: handleRefresh,\n\t\t\t/** @description 弹窗加载 */\n\t\t\tdoLoading: handleLoading,\n\t\t});\n\t},\n});\n"],"names":["faDialogProps","dialogProps","alignCenter","type","Boolean","default","appendToBody","draggable","destroyOnClose","overflow","top","String","width","Number","showRefresh","showFullscreen","showCloseButton","showConfirmButton","disabledConfirmButton","closeButtonText","confirmButtonText","hideFooter","fullHeight","showBeforeClose","afterOpen","definePropType","Function","faDialogEmits","dialogEmits","value","isBoolean","confirmClick","Dialog","name","props","emits","slots","makeSlots","setup","attrs","emit","expose","_globalSize","useGlobalSize","state","reactive","loading","visible","fullscreen","refreshing","dialogRef","ref","cacheOpenFunction","handleOpen","openFunction","nextTick","execFunction","then","catch","error","consoleError","finally","handleClose","closeFunction","handleRefresh","setTimeout","ElMessage","success","handleBeforeClose","done","document","querySelector","newDone","beforeClose","ElMessageBox","confirm","handleFullscreen","handleConfirmClick","handleCloseClick","watch","newValue","elDialogProps","useProps","elDialogEmits","useEmits","useRender","_createVNode","ElDialog","_mergeProps","class","modelValue","$event","showClose","header","_Fragment","title","close","onClick","ElIcon","Refresh","FullScreenExit","FullScreen","Close","_withDirectives","ElScrollbar","_resolveDirective","footer","ElButton","disabled","loadingIcon","Eleme","useExpose","dialogContentRef","computed","resetPosition","open","refresh","doLoading","loadingFunction"],"mappings":"usBASO,MAAMA,EAAgB,IACzBC,EAEHC,YAAa,CACZC,KAAMC,QACNC,SAAS,GAGVC,aAAc,CACbH,KAAMC,QACNC,SAAS,GAGVE,UAAW,CACVJ,KAAMC,QACNC,SAAS,GAGVG,eAAgB,CACfL,KAAMC,QACNC,SAAS,GAGVI,SAAU,CACTN,KAAMC,QACNC,SAAS,GAGVK,IAAK,CACJP,KAAMQ,OACNN,QAAS,OAGVO,MAAO,CACNT,KAAM,CAACQ,OAAQE,QACfR,QAAS,OAGVS,YAAa,CACZX,KAAMC,QACNC,SAAS,GAGVU,eAAgB,CACfZ,KAAMC,QACNC,SAAS,GAGVW,gBAAiB,CAChBb,KAAMC,QACNC,SAAS,GAGVY,kBAAmB,CAClBd,KAAMC,QACNC,SAAS,GAGVa,sBAAuBd,QAEvBe,gBAAiB,CAChBhB,KAAMQ,OACNN,QAAS,MAGVe,kBAAmB,CAClBjB,KAAMQ,OACNN,QAAS,MAGVgB,WAAYjB,QAEZkB,WAAYlB,QAEZmB,gBAAiBnB,QAEjBoB,UAAW,CACVrB,KAAMsB,EAA2BC,YAItBC,EAAgB,IACzBC,EAEH,oBAAsBC,GAA4BC,EAAUD,GAE5DE,aAAcA,KAAe,GAY9BC,mBAA+B,CAC9BC,KAAM,WACNC,MAAOlC,EACPmC,MAAOR,EACPS,MAAOC,IACPC,KAAAA,CAAMJ,GAAOK,MAAEA,EAAAA,MAAOH,EAAAA,KAAOI,EAAAA,OAAMC,IAClC,MAAMC,EAAcC,IAEdC,EAAQC,EAAS,CACtBC,SAAS,EACTC,SAAS,EACTC,YAAY,EACZC,YAAY,IAGPC,EAAYC,IAElB,IAAIC,EAEJ,MAAMC,EAAcC,IACnBV,EAAMG,SAAU,EAChBK,EAAoBE,EACpBC,EAAS,KACRX,EAAME,SAAU,EAChBU,EAAatB,EAAMV,WAAa8B,GAC9BG,KAAK,KACLjB,EAAK,UAELkB,MAAOC,IACPC,EAAa,WAAYD,GAEzBf,EAAMG,SAAU,IAEhBc,QAAQ,KACRjB,EAAME,SAAU,OAKdgB,EAAeC,IACpBnB,EAAME,SAAU,EAChBU,EAAaO,GACXN,KAAK,KACLjB,EAAK,SACLI,EAAMG,SAAU,IAEhBW,MAAOC,IACPC,EAAa,WAAYD,KAEzBE,QAAQ,KACRjB,EAAME,SAAU,KAgBbkB,EAAgBA,KACjBpB,EAAME,UACVF,EAAMK,YAAa,EACnBL,EAAME,SAAU,EAChBmB,WAAW,KACVrB,EAAMK,YAAa,EACnBI,EAAWD,GACXc,EAAUC,QAAQ,SAChB,OAGEC,EAAqBC,IAC1B,GAAIzB,EAAME,QAAS,OAEnB,GAAIwB,SAASC,cAAc,6BAA8B,OAEzD,MAAMC,EAAUA,KACfhB,EAAatB,EAAMuC,aACjBhB,KAAK,KACLjB,EAAK,SACL6B,MAEAX,MAAOC,IACPC,EAAa,WAAYD,MAIxBzB,EAAMX,gBACTmD,EAAaC,QAAQ,QAAS,CAAExE,KAAM,YAAasD,KAAK,KACvDe,MAGDA,KAIII,EAAmBA,KACpBhC,EAAME,UACVF,EAAMI,YAAcJ,EAAMI,aAGrB6B,EAAqBA,KACtBjC,EAAME,SACVN,EAAK,iBAGAsC,EAAmBA,KACpBlC,EAAME,SACVgB,KAGDiB,EACC,IAAMnC,EAAMG,QACXiC,IACAxC,EAAK,oBAAqBwC,KAI5B,MAAMC,EAAgBC,EAAShD,EAAOjC,EAAa,CAAC,aAAc,aAAc,YAAa,gBACvFkF,EAAgBC,EAASxD,EAAaY,EAAM,CAAC,sBAkGnD,OAhGA6C,EAAU,IAAAC,EAAAC,EAAAC,EAEJP,EAAcpD,MACdsD,EAActD,MAAK,CAAAsB,IAClBD,EAASuC,MACP,CACN,YACA,aAAa/C,EAAYb,QACzB,CAAE,yBAA0BK,EAAMZ,WAAY,wBAAyBsB,EAAMI,aAC7E0C,WACO9C,EAAMG,QAAO,sBAAA4C,GAAb/C,EAAMG,QAAO4C,EAAA3C,WACTJ,EAAMI,WAAU4C,WACjB,EAAKnB,YACHL,IAAiB,CAG7ByB,OAAQA,IAAAP,EAAAQ,QAAAR,EAAA,MAAA,CAAAG,MAAA,2BAAA,CAGJvD,EAAM6D,MACN3D,EAAMyD,QAAUzD,EAAMyD,OAAO,CAAE/C,QAASF,EAAME,QAASkD,MAAOlB,MAE/D5C,EAAMpB,aAAWwE,EAAA,MAAA,CAAAS,MAAA,KAAAN,MAGT,CACN,yBACA7C,EAAME,QAAU,mDAAqD,sBACrEmD,QACQjC,GAAa,CAAAsB,EAAAY,EAAA,KAAA,CAAA7F,QAAAA,IAAA,CAAAiF,EAAAa,EAAA,KAAA,WAOvBjE,EAAMnB,gBAAcuE,EAAA,MAAA,CAAAS,MAEZnD,EAAMI,WAAa,SAAW,OAAMyC,MACpC,CACN,yBACA7C,EAAME,QAAU,mDAAqD,sBACrEmD,QACQrB,GAAgB,CAAAU,EAAAY,EAAA,KAAA,CAAA7F,QAAAA,IAAA,CAEhBuC,EAAMI,WAAUsC,EAAAc,EAAA,KAAA,MAAAd,EAAAe,EAAA,KAAA,WAG1BnE,EAAM0D,WAASN,EAAA,MAAA,CAAAS,MAAA,KAAAN,MAGP,CACN,yBACA7C,EAAME,QAAU,mDAAqD,sBACrEmD,QACQnB,GAAgB,CAAAQ,EAAAY,EAAA,KAAA,CAAA7F,QAAAA,IAAA,CAAAiF,EAAAgB,EAAA,KAAA,aAS7BjG,QAASA,IAAAkG,EAAAjB,EAAAkB,EAAA,CAAA,uBAAA,UAAA,CAAAnG,QAAAA,IAAA,EAELuC,EAAMK,YAAcb,EAAM/B,SAAW+B,EAAM/B,QAAQuC,MAAM,CAAA,CAAA6D,EAAA,WADrC7D,EAAME,eAIzBZ,EAAMb,YAAc,CACxBqF,OAAQA,IAAApB,EAAAQ,EAAA,KAAA,CAEL1D,EAAMsE,QAAUtE,EAAMsE,OAAO,CAAE5D,QAASF,EAAME,QAASkD,MAAOlB,IAC9D5C,EAAMlB,iBAAesE,EAAAqB,EAAA,CAAAC,SACDhE,EAAME,QAAOmD,QAAWnB,GAAgB,CAAAzE,QAAAA,IAAA,CAC1D6B,EAAMf,mBAGRe,EAAMjB,mBAAiBqE,EAAAqB,EAAA,CAAA7D,QAEbF,EAAME,QAAO+D,YACTC,EAAKF,SACR1E,EAAMhB,sBAAqBf,KAAA,UAAA8F,QAE5BpB,GAAkB,CAAAxE,QAAAA,IAAA,CAE1BuC,EAAME,QAAU,SAAWZ,EAAMd,2BAUnC2F,EAAUtE,EAAQ,CAExBuE,iBAAkBC,EAAS,IAAM/D,EAAUrB,OAAOmF,kBAElDE,cAAeD,EAAS,IAAM/D,EAAUrB,OAAOqF,eAE/CpE,QAASmE,EAAS,IAAMrE,EAAME,SAE9BC,QAASkE,EAAS,IAAMrE,EAAMG,SAE9BoE,KAAM9D,EAEN2C,MAAOlC,EAEPsD,QAASpD,EAETqD,UAzLsBC,IACtB1E,EAAME,SAAU,EAChBU,EAAa8D,GACX7D,OACAC,MAAOC,IACPC,EAAa,WAAYD,KAEzBE,QAAQ,KACRjB,EAAME,SAAU,MAmLpB"}
@@ -60,7 +60,9 @@ export declare const faDrawerProps: {
60
60
  withHeader: import('element-plus/es/utils/index.mjs').EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
61
61
  modalFade: import('element-plus/es/utils/index.mjs').EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
62
62
  headerAriaLevel: import('element-plus/es/utils/index.mjs').EpPropFinalized<StringConstructor, unknown, unknown, "2", boolean>;
63
- appendTo: import('element-plus/es/utils/index.mjs').EpPropFinalized<(new (...args: any[]) => string | HTMLElement) | (() => import('element-plus/es/utils/index.mjs').EpPropMergeType<(new (...args: any[]) => string | HTMLElement) | (() => string | HTMLElement) | ((new (...args: any[]) => string | HTMLElement) | (() => string | HTMLElement))[], unknown, unknown>) | ((new (...args: any[]) => string | HTMLElement) | (() => import('element-plus/es/utils/index.mjs').EpPropMergeType<(new (...args: any[]) => string | HTMLElement) | (() => string | HTMLElement) | ((new (...args: any[]) => string | HTMLElement) | (() => string | HTMLElement))[], unknown, unknown>))[], unknown, unknown, "body", boolean>;
63
+ appendTo: import('element-plus/es/utils/index.mjs').EpPropFinalized<(new (...args: any[]) => string | HTMLElement) | (() => import('element-plus/es/utils/index.mjs').EpPropMergeType<(new (...args: any[]) => string | HTMLElement) | (() => string | HTMLElement) | ((new (...args: any[]) => string | HTMLElement) | (() => string | HTMLElement))[], unknown, unknown>) | ((new (...args: any[]) => string | HTMLElement) | (() => import('element-plus/es/utils/index.mjs').EpPropMergeType<(new (...args: any[]) => string | HTMLElement) | (() => string | HTMLElement) | ((new (
64
+ /** @description 关闭按钮文字,默认取消 */
65
+ ...args: any[]) => string | HTMLElement) | (() => string | HTMLElement))[], unknown, unknown>))[], unknown, unknown, "body", boolean>;
64
66
  beforeClose: {
65
67
  readonly type: import('vue').PropType<import('element-plus').DialogBeforeCloseFn>;
66
68
  readonly required: false;
@@ -206,7 +208,9 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
206
208
  withHeader: import('element-plus/es/utils/index.mjs').EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
207
209
  modalFade: import('element-plus/es/utils/index.mjs').EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
208
210
  headerAriaLevel: import('element-plus/es/utils/index.mjs').EpPropFinalized<StringConstructor, unknown, unknown, "2", boolean>;
209
- appendTo: import('element-plus/es/utils/index.mjs').EpPropFinalized<(new (...args: any[]) => string | HTMLElement) | (() => import('element-plus/es/utils/index.mjs').EpPropMergeType<(new (...args: any[]) => string | HTMLElement) | (() => string | HTMLElement) | ((new (...args: any[]) => string | HTMLElement) | (() => string | HTMLElement))[], unknown, unknown>) | ((new (...args: any[]) => string | HTMLElement) | (() => import('element-plus/es/utils/index.mjs').EpPropMergeType<(new (...args: any[]) => string | HTMLElement) | (() => string | HTMLElement) | ((new (...args: any[]) => string | HTMLElement) | (() => string | HTMLElement))[], unknown, unknown>))[], unknown, unknown, "body", boolean>;
211
+ appendTo: import('element-plus/es/utils/index.mjs').EpPropFinalized<(new (...args: any[]) => string | HTMLElement) | (() => import('element-plus/es/utils/index.mjs').EpPropMergeType<(new (...args: any[]) => string | HTMLElement) | (() => string | HTMLElement) | ((new (...args: any[]) => string | HTMLElement) | (() => string | HTMLElement))[], unknown, unknown>) | ((new (...args: any[]) => string | HTMLElement) | (() => import('element-plus/es/utils/index.mjs').EpPropMergeType<(new (...args: any[]) => string | HTMLElement) | (() => string | HTMLElement) | ((new (
212
+ /** @description 关闭按钮文字,默认取消 */
213
+ ...args: any[]) => string | HTMLElement) | (() => string | HTMLElement))[], unknown, unknown>))[], unknown, unknown, "body", boolean>;
210
214
  beforeClose: {
211
215
  readonly type: import('vue').PropType<import('element-plus').DialogBeforeCloseFn>;
212
216
  readonly required: false;
@@ -353,7 +357,9 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
353
357
  withHeader: import('element-plus/es/utils/index.mjs').EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
354
358
  modalFade: import('element-plus/es/utils/index.mjs').EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
355
359
  headerAriaLevel: import('element-plus/es/utils/index.mjs').EpPropFinalized<StringConstructor, unknown, unknown, "2", boolean>;
356
- appendTo: import('element-plus/es/utils/index.mjs').EpPropFinalized<(new (...args: any[]) => string | HTMLElement) | (() => import('element-plus/es/utils/index.mjs').EpPropMergeType<(new (...args: any[]) => string | HTMLElement) | (() => string | HTMLElement) | ((new (...args: any[]) => string | HTMLElement) | (() => string | HTMLElement))[], unknown, unknown>) | ((new (...args: any[]) => string | HTMLElement) | (() => import('element-plus/es/utils/index.mjs').EpPropMergeType<(new (...args: any[]) => string | HTMLElement) | (() => string | HTMLElement) | ((new (...args: any[]) => string | HTMLElement) | (() => string | HTMLElement))[], unknown, unknown>))[], unknown, unknown, "body", boolean>;
360
+ appendTo: import('element-plus/es/utils/index.mjs').EpPropFinalized<(new (...args: any[]) => string | HTMLElement) | (() => import('element-plus/es/utils/index.mjs').EpPropMergeType<(new (...args: any[]) => string | HTMLElement) | (() => string | HTMLElement) | ((new (...args: any[]) => string | HTMLElement) | (() => string | HTMLElement))[], unknown, unknown>) | ((new (...args: any[]) => string | HTMLElement) | (() => import('element-plus/es/utils/index.mjs').EpPropMergeType<(new (...args: any[]) => string | HTMLElement) | (() => string | HTMLElement) | ((new (
361
+ /** @description 关闭按钮文字,默认取消 */
362
+ ...args: any[]) => string | HTMLElement) | (() => string | HTMLElement))[], unknown, unknown>))[], unknown, unknown, "body", boolean>;
357
363
  beforeClose: {
358
364
  readonly type: import('vue').PropType<import('element-plus').DialogBeforeCloseFn>;
359
365
  readonly required: false;
@@ -422,7 +428,9 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
422
428
  title: string;
423
429
  center: boolean;
424
430
  showClose: import('element-plus/es/utils/index.mjs').EpPropMergeType<BooleanConstructor, unknown, unknown>;
425
- appendTo: import('element-plus/es/utils/index.mjs').EpPropMergeType<(new (...args: any[]) => string | HTMLElement) | (() => import('element-plus/es/utils/index.mjs').EpPropMergeType<(new (...args: any[]) => string | HTMLElement) | (() => string | HTMLElement) | ((new (...args: any[]) => string | HTMLElement) | (() => string | HTMLElement))[], unknown, unknown>) | ((new (...args: any[]) => string | HTMLElement) | (() => import('element-plus/es/utils/index.mjs').EpPropMergeType<(new (...args: any[]) => string | HTMLElement) | (() => string | HTMLElement) | ((new (...args: any[]) => string | HTMLElement) | (() => string | HTMLElement))[], unknown, unknown>))[], unknown, unknown>;
431
+ appendTo: import('element-plus/es/utils/index.mjs').EpPropMergeType<(new (...args: any[]) => string | HTMLElement) | (() => import('element-plus/es/utils/index.mjs').EpPropMergeType<(new (...args: any[]) => string | HTMLElement) | (() => string | HTMLElement) | ((new (...args: any[]) => string | HTMLElement) | (() => string | HTMLElement))[], unknown, unknown>) | ((new (...args: any[]) => string | HTMLElement) | (() => import('element-plus/es/utils/index.mjs').EpPropMergeType<(new (...args: any[]) => string | HTMLElement) | (() => string | HTMLElement) | ((new (
432
+ /** @description 关闭按钮文字,默认取消 */
433
+ ...args: any[]) => string | HTMLElement) | (() => string | HTMLElement))[], unknown, unknown>))[], unknown, unknown>;
426
434
  modelValue: boolean;
427
435
  transition: undefined;
428
436
  fullscreen: boolean;
@@ -1,2 +1,2 @@
1
- import{defineComponent as e,reactive as l,ref as o,nextTick as a,watch as n,createVNode as t,mergeProps as i,Fragment as s,withDirectives as d,resolveDirective as r,computed as u}from"vue";import{drawerProps as c,drawerEmits as f,useGlobalSize as _,ElMessage as m,ElMessageBox as g,ElDrawer as h,ElButton as p,ElScrollbar as w,ElIcon as v}from"element-plus";import{Eleme as b,Refresh as C,Close as B}from"@element-plus/icons-vue";import{FullScreenExit as y,FullScreen as k}from"@fast-element-plus/icons-vue";import{definePropType as F,execFunction as x,consoleError as z,useProps as T,useRender as D,useExpose as O,makeSlots as V}from"@fast-china/utils";import{isBoolean as A}from"lodash-unified";const L={...c,appendToBody:{type:Boolean,default:!0},draggable:{type:Boolean,default:!0},destroyOnClose:{type:Boolean,default:!0},showRefresh:{type:Boolean,default:!0},showFullscreen:{type:Boolean,default:!0},showCloseButton:{type:Boolean,default:!0},showConfirmButton:{type:Boolean,default:!0},disabledConfirmButton:Boolean,closeButtonText:{type:String,default:"取消"},confirmButtonText:{type:String,default:"确认"},hideFooter:Boolean,showBeforeClose:Boolean,afterOpen:{type:F(Function)}},S={...f,"update:modelValue":e=>A(e),confirmClick:()=>!0},W=/* @__PURE__ */e({name:"FaDrawer",props:L,emits:S,slots:V(),setup(e,{attrs:f,slots:F,emit:V,expose:A}){const L=_(),S=l({loading:!1,visible:!1,fullscreen:!1,size:e.size??"30%",dragging:!1,refreshing:!1}),W=o();let E;const R=l=>{S.visible=!0,E=l,a(()=>{S.loading=!0,x(e.afterOpen??l).then(()=>{V("open")}).catch(e=>{z("FaDrawer",e),S.visible=!1}).finally(()=>{S.loading=!1})})},$=e=>{S.loading=!0,x(e).then(()=>{V("close"),S.visible=!1}).catch(e=>{z("FaDrawer",e)}).finally(()=>{S.loading=!1})},q=()=>{S.refreshing=!0,S.loading=!0,setTimeout(()=>{S.refreshing=!1,R(E),m.success("刷新成功")},500)},I=l=>{if(S.loading)return;if(document.querySelector(".el-image-viewer__wrapper"))return;const o=()=>{x(e.beforeClose).then(()=>{V("close"),l()}).catch(e=>{z("FaDialog",e)})};e.showBeforeClose?g.confirm("确定关闭?",{type:"warning"}).then(()=>{o()}):o()},U=()=>{S.loading||(S.fullscreen=!S.fullscreen)},X=()=>{S.loading||V("confirmClick")},j=()=>{S.loading||$()};n(()=>S.visible,e=>{V("update:modelValue",e)});const G=()=>{document.onmousemove=e=>{let l=document.body.clientWidth-e.pageX;const o=.2*document.body.clientWidth,a=.95*document.body.clientWidth;l=l>a?a:l<o?o:l,S.size=`${l}px`},document.onmouseup=()=>{document.onmousemove=document.onmouseup=null}},H=T(e,c,["modelValue","size","showClose","beforeClose"]);return D(()=>t(h,i(H.value,{ref:W,class:["fa-drawer",`fa-drawer-${L.value}`,{"fa-drawer__fullscreen":S.fullscreen}],modelValue:S.visible,"onUpdate:modelValue":e=>S.visible=e,size:S.size,showClose:!1,beforeClose:I,onOpened:()=>V("opened"),onClosed:()=>V("closed"),onOpenAutoFocus:()=>V("openAutoFocus"),onCloseAutoFocus:()=>V("closeAutoFocus")}),{header:()=>t(s,null,[t("div",{class:"fa-drawer__header-title"},[e.title,F.header&&F.header({loading:S.loading,close:j})]),e.showRefresh&&t("div",{title:"刷新",class:["fa-drawer__header-icon",S.loading?"fa__click__disabled fa__click__disabled__cursor ":"fa__hover__twinkle"],onClick:q},[t(v,{class:"icon"},{default:()=>[t(C,null,null)]})]),e.showFullscreen&&t("div",{title:S.fullscreen?"关闭全屏显示":"全屏显示",class:["fa-drawer__header-icon",S.loading?"fa__click__disabled fa__click__disabled__cursor ":"fa__hover__twinkle"],onClick:U},[t(v,null,{default:()=>[S.fullscreen?t(y,null,null):t(k,null,null)]})]),e.showClose&&t("div",{title:"关闭",class:["fa-drawer__header-icon",S.loading?"fa__click__disabled fa__click__disabled__cursor ":"fa__hover__twinkle"],onClick:j},[t(v,{class:"icon"},{default:()=>[t(B,null,null)]})])]),default:()=>t(s,null,[e.draggable&&t("div",{class:"fa-drawer__draggable",onmousedown:G},null),d(t(w,{"element-loading-text":"加载中..."},{default:()=>[!S.refreshing&&F.default&&F.default(S)]}),[[r("loading"),S.loading]])]),...!e.hideFooter&&{footer:()=>t(s,null,[F.footer&&F.footer({loading:S.loading,close:j}),e.showCloseButton&&t(p,{disabled:S.loading,onClick:j},{default:()=>[e.closeButtonText]}),e.showConfirmButton&&t(p,{loading:S.loading,loadingIcon:b,disabled:e.disabledConfirmButton,type:"primary",onClick:X},{default:()=>[S.loading?"加载中...":e.confirmButtonText]})])}})),O(A,{handleClose:u(()=>W.value?.handleClose),afterEnter:u(()=>W.value?.afterEnter),afterLeave:u(()=>W.value?.afterLeave),loading:u(()=>S.loading),visible:u(()=>S.visible),open:R,close:$,refresh:q,doLoading:e=>{S.loading=!0,x(e).then().catch(e=>{z("FaDrawer",e)}).finally(()=>{S.loading=!1})}})}});export{W as default,S as faDrawerEmits,L as faDrawerProps};
1
+ import{defineComponent as e,reactive as l,ref as o,nextTick as a,watch as n,createVNode as t,mergeProps as i,Fragment as d,withDirectives as s,resolveDirective as r,computed as u}from"vue";import{drawerProps as c,drawerEmits as f,useGlobalSize as _,ElMessage as m,ElMessageBox as g,ElDrawer as h,ElButton as p,ElScrollbar as w,ElIcon as v}from"element-plus";import{Eleme as b,Refresh as C,Close as B}from"@element-plus/icons-vue";import{FullScreenExit as y,FullScreen as k}from"@fast-element-plus/icons-vue";import{definePropType as F,execFunction as x,consoleError as z,useProps as T,useEmits as V,useRender as D,useExpose as L,makeSlots as O}from"@fast-china/utils";import{isBoolean as S}from"lodash-unified";const W={...c,appendToBody:{type:Boolean,default:!0},draggable:{type:Boolean,default:!0},destroyOnClose:{type:Boolean,default:!0},showRefresh:{type:Boolean,default:!0},showFullscreen:{type:Boolean,default:!0},showCloseButton:{type:Boolean,default:!0},showConfirmButton:{type:Boolean,default:!0},disabledConfirmButton:Boolean,closeButtonText:{type:String,default:"取消"},confirmButtonText:{type:String,default:"确认"},hideFooter:Boolean,showBeforeClose:Boolean,afterOpen:{type:F(Function)}},E={...f,"update:modelValue":e=>S(e),confirmClick:()=>!0},R=/* @__PURE__ */e({name:"FaDrawer",props:W,emits:E,slots:O(),setup(e,{attrs:F,slots:O,emit:S,expose:W}){const E=_(),R=l({loading:!1,visible:!1,fullscreen:!1,size:e.size??"30%",dragging:!1,refreshing:!1}),$=o();let q;const I=l=>{R.visible=!0,q=l,a(()=>{R.loading=!0,x(e.afterOpen??l).then(()=>{S("open")}).catch(e=>{z("FaDrawer",e),R.visible=!1}).finally(()=>{R.loading=!1})})},U=e=>{R.loading=!0,x(e).then(()=>{S("close"),R.visible=!1}).catch(e=>{z("FaDrawer",e)}).finally(()=>{R.loading=!1})},X=()=>{R.refreshing=!0,R.loading=!0,setTimeout(()=>{R.refreshing=!1,I(q),m.success("刷新成功")},500)},j=l=>{if(R.loading)return;if(document.querySelector(".el-image-viewer__wrapper"))return;const o=()=>{x(e.beforeClose).then(()=>{S("close"),l()}).catch(e=>{z("FaDialog",e)})};e.showBeforeClose?g.confirm("确定关闭?",{type:"warning"}).then(()=>{o()}):o()},A=()=>{R.loading||(R.fullscreen=!R.fullscreen)},G=()=>{R.loading||S("confirmClick")},H=()=>{R.loading||U()};n(()=>R.visible,e=>{S("update:modelValue",e)});const J=()=>{document.onmousemove=e=>{let l=document.body.clientWidth-e.pageX;const o=.2*document.body.clientWidth,a=.95*document.body.clientWidth;l=l>a?a:l<o?o:l,R.size=`${l}px`},document.onmouseup=()=>{document.onmousemove=document.onmouseup=null}},K=T(e,c,["modelValue","size","showClose","beforeClose"]),M=V(f,S,["update:modelValue"]);return D(()=>t(h,i(K.value,M.value,{ref:$,class:["fa-drawer",`fa-drawer-${E.value}`,{"fa-drawer__fullscreen":R.fullscreen}],modelValue:R.visible,"onUpdate:modelValue":e=>R.visible=e,size:R.size,showClose:!1,beforeClose:j}),{header:()=>t(d,null,[t("div",{class:"fa-drawer__header-title"},[e.title,O.header&&O.header({loading:R.loading,close:H})]),e.showRefresh&&t("div",{title:"刷新",class:["fa-drawer__header-icon",R.loading?"fa__click__disabled fa__click__disabled__cursor ":"fa__hover__twinkle"],onClick:X},[t(v,{class:"icon"},{default:()=>[t(C,null,null)]})]),e.showFullscreen&&t("div",{title:R.fullscreen?"关闭全屏显示":"全屏显示",class:["fa-drawer__header-icon",R.loading?"fa__click__disabled fa__click__disabled__cursor ":"fa__hover__twinkle"],onClick:A},[t(v,null,{default:()=>[R.fullscreen?t(y,null,null):t(k,null,null)]})]),e.showClose&&t("div",{title:"关闭",class:["fa-drawer__header-icon",R.loading?"fa__click__disabled fa__click__disabled__cursor ":"fa__hover__twinkle"],onClick:H},[t(v,{class:"icon"},{default:()=>[t(B,null,null)]})])]),default:()=>t(d,null,[e.draggable&&t("div",{class:"fa-drawer__draggable",onmousedown:J},null),s(t(w,{"element-loading-text":"加载中..."},{default:()=>[!R.refreshing&&O.default&&O.default(R)]}),[[r("loading"),R.loading]])]),...!e.hideFooter&&{footer:()=>t(d,null,[O.footer&&O.footer({loading:R.loading,close:H}),e.showCloseButton&&t(p,{disabled:R.loading,onClick:H},{default:()=>[e.closeButtonText]}),e.showConfirmButton&&t(p,{loading:R.loading,loadingIcon:b,disabled:e.disabledConfirmButton,type:"primary",onClick:G},{default:()=>[R.loading?"加载中...":e.confirmButtonText]})])}})),L(W,{handleClose:u(()=>$.value?.handleClose),afterEnter:u(()=>$.value?.afterEnter),afterLeave:u(()=>$.value?.afterLeave),loading:u(()=>R.loading),visible:u(()=>R.visible),open:I,close:U,refresh:X,doLoading:e=>{R.loading=!0,x(e).then().catch(e=>{z("FaDrawer",e)}).finally(()=>{R.loading=!1})}})}});export{R as default,E as faDrawerEmits,W as faDrawerProps};
2
2
  //# sourceMappingURL=drawer.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"drawer.mjs","sources":["../../../../../packages/components/drawer/src/drawer.tsx"],"sourcesContent":["import { Fragment, computed, defineComponent, nextTick, reactive, ref, watch } from \"vue\";\nimport { ElButton, ElDrawer, ElIcon, ElMessage, ElMessageBox, ElScrollbar, drawerEmits, drawerProps, useGlobalSize } from \"element-plus\";\nimport { Close, Eleme, Refresh } from \"@element-plus/icons-vue\";\nimport { FullScreen, FullScreenExit } from \"@fast-element-plus/icons-vue\";\nimport { consoleError, definePropType, execFunction, makeSlots, useExpose, useProps, useRender } from \"@fast-china/utils\";\nimport { isBoolean } from \"lodash-unified\";\nimport type { VNode } from \"vue\";\n\nexport const faDrawerProps = {\n\t...drawerProps,\n\t/** @description whether to append Dialog itself to body. A nested Dialog should have this attribute set to `true` */\n\tappendToBody: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description enable dragging feature for Dialog */\n\tdraggable: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description destroy elements in Dialog when closed */\n\tdestroyOnClose: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description 显示刷新按钮 */\n\tshowRefresh: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description 显示全屏图标 */\n\tshowFullscreen: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description 显示关闭按钮 */\n\tshowCloseButton: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description 显示确认按钮 */\n\tshowConfirmButton: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description 禁用确认按钮 */\n\tdisabledConfirmButton: Boolean,\n\t/** @description 关闭按钮文字,默认取消 */\n\tcloseButtonText: {\n\t\ttype: String,\n\t\tdefault: \"取消\",\n\t},\n\t/** @description 确认按钮文字,默认确认 */\n\tconfirmButtonText: {\n\t\ttype: String,\n\t\tdefault: \"确认\",\n\t},\n\t/** @description 隐藏底部操作 */\n\thideFooter: Boolean,\n\t/** @description 显示关闭回调 */\n\tshowBeforeClose: Boolean,\n\t/** @description 打开之后 */\n\tafterOpen: {\n\t\ttype: definePropType<() => void>(Function),\n\t},\n};\n\nexport const faDrawerEmits = {\n\t...drawerEmits,\n\t/** @description v-model 回调 */\n\t\"update:modelValue\": (value: boolean): boolean => isBoolean(value),\n\t/** @description 确认按钮点击事件 */\n\tconfirmClick: (): boolean => true,\n};\n\ntype FaDrawerSlots = {\n\t/** @description 默认内容插槽 */\n\tdefault: { loading: boolean };\n\t/** @description 头部插槽 */\n\theader: { loading: boolean; close: () => void };\n\t/** @description 底部插槽 */\n\tfooter: { loading: boolean; close: () => void };\n};\n\nexport default defineComponent({\n\tname: \"FaDrawer\",\n\tprops: faDrawerProps,\n\temits: faDrawerEmits,\n\tslots: makeSlots<FaDrawerSlots>(),\n\tsetup(props, { attrs, slots, emit, expose }) {\n\t\tconst _globalSize = useGlobalSize();\n\n\t\tconst state = reactive({\n\t\t\tloading: false,\n\t\t\tvisible: false,\n\t\t\tfullscreen: false,\n\t\t\tsize: props.size ?? \"30%\",\n\t\t\tdragging: false,\n\t\t\trefreshing: false,\n\t\t});\n\n\t\tconst drawerRef = ref<InstanceType<typeof ElDrawer>>();\n\n\t\tlet cacheOpenFunction = undefined;\n\n\t\tconst handleOpen = (openFunction?: () => void | Promise<void>): void => {\n\t\t\tstate.visible = true;\n\t\t\tcacheOpenFunction = openFunction;\n\t\t\tnextTick(() => {\n\t\t\t\tstate.loading = true;\n\t\t\t\texecFunction(props.afterOpen ?? openFunction)\n\t\t\t\t\t.then(() => {\n\t\t\t\t\t\temit(\"open\");\n\t\t\t\t\t})\n\t\t\t\t\t.catch((error) => {\n\t\t\t\t\t\tconsoleError(\"FaDrawer\", error);\n\t\t\t\t\t\t// 自动关闭\n\t\t\t\t\t\tstate.visible = false;\n\t\t\t\t\t})\n\t\t\t\t\t.finally(() => {\n\t\t\t\t\t\tstate.loading = false;\n\t\t\t\t\t});\n\t\t\t});\n\t\t};\n\n\t\tconst handleClose = (closeFunction?: () => void | Promise<void>): void => {\n\t\t\tstate.loading = true;\n\t\t\texecFunction(closeFunction)\n\t\t\t\t.then(() => {\n\t\t\t\t\temit(\"close\");\n\t\t\t\t\tstate.visible = false;\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tconsoleError(\"FaDrawer\", error);\n\t\t\t\t})\n\t\t\t\t.finally(() => {\n\t\t\t\t\tstate.loading = false;\n\t\t\t\t});\n\t\t};\n\n\t\tconst handleLoading = (loadingFunction: () => void | Promise<void>): void => {\n\t\t\tstate.loading = true;\n\t\t\texecFunction(loadingFunction)\n\t\t\t\t.then()\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tconsoleError(\"FaDrawer\", error);\n\t\t\t\t})\n\t\t\t\t.finally(() => {\n\t\t\t\t\tstate.loading = false;\n\t\t\t\t});\n\t\t};\n\n\t\tconst handleRefresh = (): void => {\n\t\t\tstate.refreshing = true;\n\t\t\tstate.loading = true;\n\t\t\tsetTimeout(() => {\n\t\t\t\tstate.refreshing = false;\n\t\t\t\thandleOpen(cacheOpenFunction);\n\t\t\t\tElMessage.success(\"刷新成功\");\n\t\t\t}, 500);\n\t\t};\n\n\t\tconst handleBeforeClose = (done: () => void): void => {\n\t\t\tif (state.loading) return;\n\t\t\t// 解决 image 预览摁下 ese 会关闭弹窗的问题\n\t\t\tif (document.querySelector(\".el-image-viewer__wrapper\")) return;\n\n\t\t\tconst newDone = (): void => {\n\t\t\t\texecFunction(props.beforeClose)\n\t\t\t\t\t.then(() => {\n\t\t\t\t\t\temit(\"close\");\n\t\t\t\t\t\tdone();\n\t\t\t\t\t})\n\t\t\t\t\t.catch((error) => {\n\t\t\t\t\t\tconsoleError(\"FaDialog\", error);\n\t\t\t\t\t});\n\t\t\t};\n\n\t\t\tif (props.showBeforeClose) {\n\t\t\t\tElMessageBox.confirm(\"确定关闭?\", { type: \"warning\" }).then(() => {\n\t\t\t\t\tnewDone();\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tnewDone();\n\t\t\t}\n\t\t};\n\n\t\tconst handleFullscreen = (): void => {\n\t\t\tif (state.loading) return;\n\t\t\tstate.fullscreen = !state.fullscreen;\n\t\t};\n\n\t\tconst handleConfirmClick = (): void => {\n\t\t\tif (state.loading) return;\n\t\t\temit(\"confirmClick\");\n\t\t};\n\n\t\tconst handleCloseClick = (): void => {\n\t\t\tif (state.loading) return;\n\t\t\thandleClose();\n\t\t};\n\n\t\twatch(\n\t\t\t() => state.visible,\n\t\t\t(newValue) => {\n\t\t\t\temit(\"update:modelValue\", newValue);\n\t\t\t}\n\t\t);\n\n\t\t/**\n\t\t * 处理拖拽\n\t\t */\n\t\tconst handleDraggableMousedown = (): void => {\n\t\t\tdocument.onmousemove = (moveEvent: MouseEvent): void => {\n\t\t\t\t// 获取鼠标距离浏览器右边缘的距离\n\t\t\t\tlet realWidth = document.body.clientWidth - moveEvent.pageX;\n\t\t\t\tconst width20 = document.body.clientWidth * 0.2;\n\t\t\t\tconst width95 = document.body.clientWidth * 0.95;\n\t\t\t\t// 宽度不能大于浏览器宽度 95%,不能小于宽度的 20%\n\t\t\t\trealWidth = realWidth > width95 ? width95 : realWidth < width20 ? width20 : realWidth;\n\t\t\t\tstate.size = `${realWidth}px`;\n\t\t\t};\n\t\t\tdocument.onmouseup = (): void => {\n\t\t\t\tdocument.onmousemove = document.onmouseup = null;\n\t\t\t};\n\t\t};\n\n\t\tconst elDrawerProps = useProps(props, drawerProps, [\"modelValue\", \"size\", \"showClose\", \"beforeClose\"]);\n\n\t\tuseRender(() => (\n\t\t\t<ElDrawer\n\t\t\t\t{...elDrawerProps.value}\n\t\t\t\tref={drawerRef}\n\t\t\t\tclass={[\"fa-drawer\", `fa-drawer-${_globalSize.value}`, { \"fa-drawer__fullscreen\": state.fullscreen }]}\n\t\t\t\tvModel={state.visible}\n\t\t\t\tsize={state.size}\n\t\t\t\tshowClose={false}\n\t\t\t\tbeforeClose={handleBeforeClose}\n\t\t\t\tonOpened={() => emit(\"opened\")}\n\t\t\t\tonClosed={() => emit(\"closed\")}\n\t\t\t\tonOpenAutoFocus={() => emit(\"openAutoFocus\")}\n\t\t\t\tonCloseAutoFocus={() => emit(\"closeAutoFocus\")}\n\t\t\t>\n\t\t\t\t{{\n\t\t\t\t\theader: () => (\n\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t<div class=\"fa-drawer__header-title\">\n\t\t\t\t\t\t\t\t{props.title}\n\t\t\t\t\t\t\t\t{slots.header && slots.header({ loading: state.loading, close: handleCloseClick })}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t{props.showRefresh && (\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\ttitle=\"刷新\"\n\t\t\t\t\t\t\t\t\tclass={[\n\t\t\t\t\t\t\t\t\t\t\"fa-drawer__header-icon\",\n\t\t\t\t\t\t\t\t\t\tstate.loading ? \"fa__click__disabled fa__click__disabled__cursor \" : \"fa__hover__twinkle\",\n\t\t\t\t\t\t\t\t\t]}\n\t\t\t\t\t\t\t\t\tonClick={handleRefresh}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<ElIcon class=\"icon\">\n\t\t\t\t\t\t\t\t\t\t<Refresh />\n\t\t\t\t\t\t\t\t\t</ElIcon>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{props.showFullscreen && (\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\ttitle={state.fullscreen ? \"关闭全屏显示\" : \"全屏显示\"}\n\t\t\t\t\t\t\t\t\tclass={[\n\t\t\t\t\t\t\t\t\t\t\"fa-drawer__header-icon\",\n\t\t\t\t\t\t\t\t\t\tstate.loading ? \"fa__click__disabled fa__click__disabled__cursor \" : \"fa__hover__twinkle\",\n\t\t\t\t\t\t\t\t\t]}\n\t\t\t\t\t\t\t\t\tonClick={handleFullscreen}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<ElIcon>{state.fullscreen ? <FullScreenExit /> : <FullScreen />}</ElIcon>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{props.showClose && (\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\ttitle=\"关闭\"\n\t\t\t\t\t\t\t\t\tclass={[\n\t\t\t\t\t\t\t\t\t\t\"fa-drawer__header-icon\",\n\t\t\t\t\t\t\t\t\t\tstate.loading ? \"fa__click__disabled fa__click__disabled__cursor \" : \"fa__hover__twinkle\",\n\t\t\t\t\t\t\t\t\t]}\n\t\t\t\t\t\t\t\t\tonClick={handleCloseClick}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<ElIcon class=\"icon\">\n\t\t\t\t\t\t\t\t\t\t<Close />\n\t\t\t\t\t\t\t\t\t</ElIcon>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t),\n\t\t\t\t\tdefault: () => (\n\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t{props.draggable && <div class=\"fa-drawer__draggable\" onmousedown={handleDraggableMousedown} />}\n\t\t\t\t\t\t\t<ElScrollbar vLoading={state.loading} element-loading-text=\"加载中...\">\n\t\t\t\t\t\t\t\t{!state.refreshing && slots.default && slots.default(state)}\n\t\t\t\t\t\t\t</ElScrollbar>\n\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t),\n\t\t\t\t\t...(!props.hideFooter && {\n\t\t\t\t\t\tfooter: (): VNode[] => (\n\t\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t\t{slots.footer && slots.footer({ loading: state.loading, close: handleCloseClick })}\n\t\t\t\t\t\t\t\t{props.showCloseButton && (\n\t\t\t\t\t\t\t\t\t<ElButton disabled={state.loading} onClick={handleCloseClick}>\n\t\t\t\t\t\t\t\t\t\t{props.closeButtonText}\n\t\t\t\t\t\t\t\t\t</ElButton>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{props.showConfirmButton && (\n\t\t\t\t\t\t\t\t\t<ElButton\n\t\t\t\t\t\t\t\t\t\tloading={state.loading}\n\t\t\t\t\t\t\t\t\t\tloadingIcon={Eleme}\n\t\t\t\t\t\t\t\t\t\tdisabled={props.disabledConfirmButton}\n\t\t\t\t\t\t\t\t\t\ttype=\"primary\"\n\t\t\t\t\t\t\t\t\t\tonClick={handleConfirmClick}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{state.loading ? \"加载中...\" : props.confirmButtonText}\n\t\t\t\t\t\t\t\t\t</ElButton>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t),\n\t\t\t\t\t}),\n\t\t\t\t}}\n\t\t\t</ElDrawer>\n\t\t));\n\n\t\treturn useExpose(expose, {\n\t\t\t/** @description 用于关闭 Drawer, 该方法会调用传入的 before-close 方法 */\n\t\t\thandleClose: computed(() => drawerRef.value?.handleClose),\n\t\t\t/** @description 进入动画后的回调 */\n\t\t\tafterEnter: computed(() => drawerRef.value?.afterEnter),\n\t\t\t/** @description 离开动画后的回调 */\n\t\t\tafterLeave: computed(() => drawerRef.value?.afterLeave),\n\t\t\t/** @description 加载状态 */\n\t\t\tloading: computed(() => state.loading),\n\t\t\t/** @description 是否显示 */\n\t\t\tvisible: computed(() => state.visible),\n\t\t\t/** @description 打开弹窗 */\n\t\t\topen: handleOpen,\n\t\t\t/** @description 关闭弹窗 */\n\t\t\tclose: handleClose,\n\t\t\t/** @description 刷新弹窗 */\n\t\t\trefresh: handleRefresh,\n\t\t\t/** @description 弹窗加载 */\n\t\t\tdoLoading: handleLoading,\n\t\t});\n\t},\n});\n"],"names":["faDrawerProps","drawerProps","appendToBody","type","Boolean","default","draggable","destroyOnClose","showRefresh","showFullscreen","showCloseButton","showConfirmButton","disabledConfirmButton","closeButtonText","String","confirmButtonText","hideFooter","showBeforeClose","afterOpen","definePropType","Function","faDrawerEmits","drawerEmits","value","isBoolean","confirmClick","Drawer","name","props","emits","slots","makeSlots","setup","attrs","emit","expose","_globalSize","useGlobalSize","state","reactive","loading","visible","fullscreen","size","dragging","refreshing","drawerRef","ref","cacheOpenFunction","handleOpen","openFunction","nextTick","execFunction","then","catch","error","consoleError","finally","handleClose","closeFunction","handleRefresh","setTimeout","ElMessage","success","handleBeforeClose","done","document","querySelector","newDone","beforeClose","ElMessageBox","confirm","handleFullscreen","handleConfirmClick","handleCloseClick","watch","newValue","handleDraggableMousedown","onmousemove","moveEvent","realWidth","body","clientWidth","pageX","width20","width95","onmouseup","elDrawerProps","useProps","useRender","_createVNode","ElDrawer","_mergeProps","class","modelValue","$event","showClose","onOpened","onClosed","onOpenAutoFocus","onCloseAutoFocus","header","_Fragment","title","close","onClick","ElIcon","Refresh","FullScreenExit","FullScreen","Close","onmousedown","_withDirectives","ElScrollbar","_resolveDirective","footer","ElButton","disabled","loadingIcon","Eleme","useExpose","computed","afterEnter","afterLeave","open","refresh","doLoading","loadingFunction"],"mappings":"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"}
1
+ {"version":3,"file":"drawer.mjs","sources":["../../../../../packages/components/drawer/src/drawer.tsx"],"sourcesContent":["import { Fragment, computed, defineComponent, nextTick, reactive, ref, watch } from \"vue\";\nimport { ElButton, ElDrawer, ElIcon, ElMessage, ElMessageBox, ElScrollbar, drawerEmits, drawerProps, useGlobalSize } from \"element-plus\";\nimport { Close, Eleme, Refresh } from \"@element-plus/icons-vue\";\nimport { FullScreen, FullScreenExit } from \"@fast-element-plus/icons-vue\";\nimport { consoleError, definePropType, execFunction, makeSlots, useEmits, useExpose, useProps, useRender } from \"@fast-china/utils\";\nimport { isBoolean } from \"lodash-unified\";\nimport type { VNode } from \"vue\";\n\nexport const faDrawerProps = {\n\t...drawerProps,\n\t/** @description whether to append Dialog itself to body. A nested Dialog should have this attribute set to `true` */\n\tappendToBody: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description enable dragging feature for Dialog */\n\tdraggable: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description destroy elements in Dialog when closed */\n\tdestroyOnClose: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description 显示刷新按钮 */\n\tshowRefresh: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description 显示全屏图标 */\n\tshowFullscreen: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description 显示关闭按钮 */\n\tshowCloseButton: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description 显示确认按钮 */\n\tshowConfirmButton: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description 禁用确认按钮 */\n\tdisabledConfirmButton: Boolean,\n\t/** @description 关闭按钮文字,默认取消 */\n\tcloseButtonText: {\n\t\ttype: String,\n\t\tdefault: \"取消\",\n\t},\n\t/** @description 确认按钮文字,默认确认 */\n\tconfirmButtonText: {\n\t\ttype: String,\n\t\tdefault: \"确认\",\n\t},\n\t/** @description 隐藏底部操作 */\n\thideFooter: Boolean,\n\t/** @description 显示关闭回调 */\n\tshowBeforeClose: Boolean,\n\t/** @description 打开之后 */\n\tafterOpen: {\n\t\ttype: definePropType<() => void>(Function),\n\t},\n};\n\nexport const faDrawerEmits = {\n\t...drawerEmits,\n\t/** @description v-model 回调 */\n\t\"update:modelValue\": (value: boolean): boolean => isBoolean(value),\n\t/** @description 确认按钮点击事件 */\n\tconfirmClick: (): boolean => true,\n};\n\ntype FaDrawerSlots = {\n\t/** @description 默认内容插槽 */\n\tdefault: { loading: boolean };\n\t/** @description 头部插槽 */\n\theader: { loading: boolean; close: () => void };\n\t/** @description 底部插槽 */\n\tfooter: { loading: boolean; close: () => void };\n};\n\nexport default defineComponent({\n\tname: \"FaDrawer\",\n\tprops: faDrawerProps,\n\temits: faDrawerEmits,\n\tslots: makeSlots<FaDrawerSlots>(),\n\tsetup(props, { attrs, slots, emit, expose }) {\n\t\tconst _globalSize = useGlobalSize();\n\n\t\tconst state = reactive({\n\t\t\tloading: false,\n\t\t\tvisible: false,\n\t\t\tfullscreen: false,\n\t\t\tsize: props.size ?? \"30%\",\n\t\t\tdragging: false,\n\t\t\trefreshing: false,\n\t\t});\n\n\t\tconst drawerRef = ref<InstanceType<typeof ElDrawer>>();\n\n\t\tlet cacheOpenFunction = undefined;\n\n\t\tconst handleOpen = (openFunction?: () => void | Promise<void>): void => {\n\t\t\tstate.visible = true;\n\t\t\tcacheOpenFunction = openFunction;\n\t\t\tnextTick(() => {\n\t\t\t\tstate.loading = true;\n\t\t\t\texecFunction(props.afterOpen ?? openFunction)\n\t\t\t\t\t.then(() => {\n\t\t\t\t\t\temit(\"open\");\n\t\t\t\t\t})\n\t\t\t\t\t.catch((error) => {\n\t\t\t\t\t\tconsoleError(\"FaDrawer\", error);\n\t\t\t\t\t\t// 自动关闭\n\t\t\t\t\t\tstate.visible = false;\n\t\t\t\t\t})\n\t\t\t\t\t.finally(() => {\n\t\t\t\t\t\tstate.loading = false;\n\t\t\t\t\t});\n\t\t\t});\n\t\t};\n\n\t\tconst handleClose = (closeFunction?: () => void | Promise<void>): void => {\n\t\t\tstate.loading = true;\n\t\t\texecFunction(closeFunction)\n\t\t\t\t.then(() => {\n\t\t\t\t\temit(\"close\");\n\t\t\t\t\tstate.visible = false;\n\t\t\t\t})\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tconsoleError(\"FaDrawer\", error);\n\t\t\t\t})\n\t\t\t\t.finally(() => {\n\t\t\t\t\tstate.loading = false;\n\t\t\t\t});\n\t\t};\n\n\t\tconst handleLoading = (loadingFunction: () => void | Promise<void>): void => {\n\t\t\tstate.loading = true;\n\t\t\texecFunction(loadingFunction)\n\t\t\t\t.then()\n\t\t\t\t.catch((error) => {\n\t\t\t\t\tconsoleError(\"FaDrawer\", error);\n\t\t\t\t})\n\t\t\t\t.finally(() => {\n\t\t\t\t\tstate.loading = false;\n\t\t\t\t});\n\t\t};\n\n\t\tconst handleRefresh = (): void => {\n\t\t\tstate.refreshing = true;\n\t\t\tstate.loading = true;\n\t\t\tsetTimeout(() => {\n\t\t\t\tstate.refreshing = false;\n\t\t\t\thandleOpen(cacheOpenFunction);\n\t\t\t\tElMessage.success(\"刷新成功\");\n\t\t\t}, 500);\n\t\t};\n\n\t\tconst handleBeforeClose = (done: () => void): void => {\n\t\t\tif (state.loading) return;\n\t\t\t// 解决 image 预览摁下 ese 会关闭弹窗的问题\n\t\t\tif (document.querySelector(\".el-image-viewer__wrapper\")) return;\n\n\t\t\tconst newDone = (): void => {\n\t\t\t\texecFunction(props.beforeClose)\n\t\t\t\t\t.then(() => {\n\t\t\t\t\t\temit(\"close\");\n\t\t\t\t\t\tdone();\n\t\t\t\t\t})\n\t\t\t\t\t.catch((error) => {\n\t\t\t\t\t\tconsoleError(\"FaDialog\", error);\n\t\t\t\t\t});\n\t\t\t};\n\n\t\t\tif (props.showBeforeClose) {\n\t\t\t\tElMessageBox.confirm(\"确定关闭?\", { type: \"warning\" }).then(() => {\n\t\t\t\t\tnewDone();\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tnewDone();\n\t\t\t}\n\t\t};\n\n\t\tconst handleFullscreen = (): void => {\n\t\t\tif (state.loading) return;\n\t\t\tstate.fullscreen = !state.fullscreen;\n\t\t};\n\n\t\tconst handleConfirmClick = (): void => {\n\t\t\tif (state.loading) return;\n\t\t\temit(\"confirmClick\");\n\t\t};\n\n\t\tconst handleCloseClick = (): void => {\n\t\t\tif (state.loading) return;\n\t\t\thandleClose();\n\t\t};\n\n\t\twatch(\n\t\t\t() => state.visible,\n\t\t\t(newValue) => {\n\t\t\t\temit(\"update:modelValue\", newValue);\n\t\t\t}\n\t\t);\n\n\t\t/**\n\t\t * 处理拖拽\n\t\t */\n\t\tconst handleDraggableMousedown = (): void => {\n\t\t\tdocument.onmousemove = (moveEvent: MouseEvent): void => {\n\t\t\t\t// 获取鼠标距离浏览器右边缘的距离\n\t\t\t\tlet realWidth = document.body.clientWidth - moveEvent.pageX;\n\t\t\t\tconst width20 = document.body.clientWidth * 0.2;\n\t\t\t\tconst width95 = document.body.clientWidth * 0.95;\n\t\t\t\t// 宽度不能大于浏览器宽度 95%,不能小于宽度的 20%\n\t\t\t\trealWidth = realWidth > width95 ? width95 : realWidth < width20 ? width20 : realWidth;\n\t\t\t\tstate.size = `${realWidth}px`;\n\t\t\t};\n\t\t\tdocument.onmouseup = (): void => {\n\t\t\t\tdocument.onmousemove = document.onmouseup = null;\n\t\t\t};\n\t\t};\n\n\t\tconst elDrawerProps = useProps(props, drawerProps, [\"modelValue\", \"size\", \"showClose\", \"beforeClose\"]);\n\t\tconst elDrawerEmits = useEmits(drawerEmits, emit, [\"update:modelValue\"]);\n\n\t\tuseRender(() => (\n\t\t\t<ElDrawer\n\t\t\t\t{...elDrawerProps.value}\n\t\t\t\t{...elDrawerEmits.value}\n\t\t\t\tref={drawerRef}\n\t\t\t\tclass={[\"fa-drawer\", `fa-drawer-${_globalSize.value}`, { \"fa-drawer__fullscreen\": state.fullscreen }]}\n\t\t\t\tvModel={state.visible}\n\t\t\t\tsize={state.size}\n\t\t\t\tshowClose={false}\n\t\t\t\tbeforeClose={handleBeforeClose}\n\t\t\t>\n\t\t\t\t{{\n\t\t\t\t\theader: () => (\n\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t<div class=\"fa-drawer__header-title\">\n\t\t\t\t\t\t\t\t{props.title}\n\t\t\t\t\t\t\t\t{slots.header && slots.header({ loading: state.loading, close: handleCloseClick })}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t{props.showRefresh && (\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\ttitle=\"刷新\"\n\t\t\t\t\t\t\t\t\tclass={[\n\t\t\t\t\t\t\t\t\t\t\"fa-drawer__header-icon\",\n\t\t\t\t\t\t\t\t\t\tstate.loading ? \"fa__click__disabled fa__click__disabled__cursor \" : \"fa__hover__twinkle\",\n\t\t\t\t\t\t\t\t\t]}\n\t\t\t\t\t\t\t\t\tonClick={handleRefresh}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<ElIcon class=\"icon\">\n\t\t\t\t\t\t\t\t\t\t<Refresh />\n\t\t\t\t\t\t\t\t\t</ElIcon>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{props.showFullscreen && (\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\ttitle={state.fullscreen ? \"关闭全屏显示\" : \"全屏显示\"}\n\t\t\t\t\t\t\t\t\tclass={[\n\t\t\t\t\t\t\t\t\t\t\"fa-drawer__header-icon\",\n\t\t\t\t\t\t\t\t\t\tstate.loading ? \"fa__click__disabled fa__click__disabled__cursor \" : \"fa__hover__twinkle\",\n\t\t\t\t\t\t\t\t\t]}\n\t\t\t\t\t\t\t\t\tonClick={handleFullscreen}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<ElIcon>{state.fullscreen ? <FullScreenExit /> : <FullScreen />}</ElIcon>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{props.showClose && (\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\ttitle=\"关闭\"\n\t\t\t\t\t\t\t\t\tclass={[\n\t\t\t\t\t\t\t\t\t\t\"fa-drawer__header-icon\",\n\t\t\t\t\t\t\t\t\t\tstate.loading ? \"fa__click__disabled fa__click__disabled__cursor \" : \"fa__hover__twinkle\",\n\t\t\t\t\t\t\t\t\t]}\n\t\t\t\t\t\t\t\t\tonClick={handleCloseClick}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<ElIcon class=\"icon\">\n\t\t\t\t\t\t\t\t\t\t<Close />\n\t\t\t\t\t\t\t\t\t</ElIcon>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t),\n\t\t\t\t\tdefault: () => (\n\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t{props.draggable && <div class=\"fa-drawer__draggable\" onmousedown={handleDraggableMousedown} />}\n\t\t\t\t\t\t\t<ElScrollbar vLoading={state.loading} element-loading-text=\"加载中...\">\n\t\t\t\t\t\t\t\t{!state.refreshing && slots.default && slots.default(state)}\n\t\t\t\t\t\t\t</ElScrollbar>\n\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t),\n\t\t\t\t\t...(!props.hideFooter && {\n\t\t\t\t\t\tfooter: (): VNode[] => (\n\t\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t\t{slots.footer && slots.footer({ loading: state.loading, close: handleCloseClick })}\n\t\t\t\t\t\t\t\t{props.showCloseButton && (\n\t\t\t\t\t\t\t\t\t<ElButton disabled={state.loading} onClick={handleCloseClick}>\n\t\t\t\t\t\t\t\t\t\t{props.closeButtonText}\n\t\t\t\t\t\t\t\t\t</ElButton>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{props.showConfirmButton && (\n\t\t\t\t\t\t\t\t\t<ElButton\n\t\t\t\t\t\t\t\t\t\tloading={state.loading}\n\t\t\t\t\t\t\t\t\t\tloadingIcon={Eleme}\n\t\t\t\t\t\t\t\t\t\tdisabled={props.disabledConfirmButton}\n\t\t\t\t\t\t\t\t\t\ttype=\"primary\"\n\t\t\t\t\t\t\t\t\t\tonClick={handleConfirmClick}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{state.loading ? \"加载中...\" : props.confirmButtonText}\n\t\t\t\t\t\t\t\t\t</ElButton>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t),\n\t\t\t\t\t}),\n\t\t\t\t}}\n\t\t\t</ElDrawer>\n\t\t));\n\n\t\treturn useExpose(expose, {\n\t\t\t/** @description 用于关闭 Drawer, 该方法会调用传入的 before-close 方法 */\n\t\t\thandleClose: computed(() => drawerRef.value?.handleClose),\n\t\t\t/** @description 进入动画后的回调 */\n\t\t\tafterEnter: computed(() => drawerRef.value?.afterEnter),\n\t\t\t/** @description 离开动画后的回调 */\n\t\t\tafterLeave: computed(() => drawerRef.value?.afterLeave),\n\t\t\t/** @description 加载状态 */\n\t\t\tloading: computed(() => state.loading),\n\t\t\t/** @description 是否显示 */\n\t\t\tvisible: computed(() => state.visible),\n\t\t\t/** @description 打开弹窗 */\n\t\t\topen: handleOpen,\n\t\t\t/** @description 关闭弹窗 */\n\t\t\tclose: handleClose,\n\t\t\t/** @description 刷新弹窗 */\n\t\t\trefresh: handleRefresh,\n\t\t\t/** @description 弹窗加载 */\n\t\t\tdoLoading: handleLoading,\n\t\t});\n\t},\n});\n"],"names":["faDrawerProps","drawerProps","appendToBody","type","Boolean","default","draggable","destroyOnClose","showRefresh","showFullscreen","showCloseButton","showConfirmButton","disabledConfirmButton","closeButtonText","String","confirmButtonText","hideFooter","showBeforeClose","afterOpen","definePropType","Function","faDrawerEmits","drawerEmits","value","isBoolean","confirmClick","Drawer","name","props","emits","slots","makeSlots","setup","attrs","emit","expose","_globalSize","useGlobalSize","state","reactive","loading","visible","fullscreen","size","dragging","refreshing","drawerRef","ref","cacheOpenFunction","handleOpen","openFunction","nextTick","execFunction","then","catch","error","consoleError","finally","handleClose","closeFunction","handleRefresh","setTimeout","ElMessage","success","handleBeforeClose","done","document","querySelector","newDone","beforeClose","ElMessageBox","confirm","handleFullscreen","handleConfirmClick","handleCloseClick","watch","newValue","handleDraggableMousedown","onmousemove","moveEvent","realWidth","body","clientWidth","pageX","width20","width95","onmouseup","elDrawerProps","useProps","elDrawerEmits","useEmits","useRender","_createVNode","ElDrawer","_mergeProps","class","modelValue","$event","showClose","header","_Fragment","title","close","onClick","ElIcon","Refresh","FullScreenExit","FullScreen","Close","onmousedown","_withDirectives","ElScrollbar","_resolveDirective","footer","ElButton","disabled","loadingIcon","Eleme","useExpose","computed","afterEnter","afterLeave","open","refresh","doLoading","loadingFunction"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{defineComponent as l,reactive as e,computed as a,ref as o,provide as t,createVNode as r,mergeProps as s}from"vue";import{formProps as d,useGlobalSize as i,ElForm as f}from"element-plus";import{FaLayoutGrid as u}from"../../layoutGrid/index.mjs";import{definePropType as m,useProps as c,useRender as p,useExpose as n,makeSlots as v}from"@fast-china/utils";import{isObject as F,isNumber as g}from"lodash-unified";import{formUtil as x}from"../utils/form.mjs";const b={...d,labelWidth:{type:[String,Number],default:"auto"},labelSuffix:{type:String,default:":"},scrollToError:{type:Boolean,default:!0},detailForm:Boolean,grid:{type:Boolean,default:!0},cols:{type:m([String,Number,Object]),default:()=>({xs:1,sm:2,md:3,lg:4,xl:5})}},y=/* @__PURE__ */l({name:"FaForm",props:b,slots:v(),setup(l,{attrs:m,slots:v,expose:b}){const y=i(),S=e({cols:a(()=>{if(F(l.cols))return l.cols;{const e=g(l.cols)?l.cols:Number(l.cols);return{xs:1,sm:e,md:e,lg:e,xl:e}}}),gap:a(()=>"small"===y.value?[15,0]:[20,0])}),T=o();t("faFormCols",S.cols);const h=c(l,d);return p(()=>r(f,s(h.value,{ref:T,class:["fa-form",`fa-form-${y.value}`,{[`fa-form-detail fa-form-detail_${y.value}`]:l.detailForm}]}),{default:()=>l.grid?r(u,{collapsed:!0,gap:S.gap,cols:S.cols},{default:()=>[v.default&&v.default(S)]}):v.default&&v.default(S)})),n(b,{validate:()=>x.validate(T),validateField:a(()=>T.value?.validateField),resetFields:a(()=>T.value?.resetFields),clearValidate:a(()=>T.value?.clearValidate),scrollToField:a(()=>T.value?.scrollToField),fields:a(()=>T.value?.fields),validateScrollToField:()=>x.validateScrollToField(T)})}});export{y as default,b as faFormProps};
1
+ import{defineComponent as l,reactive as e,computed as a,ref as o,provide as t,createVNode as r,mergeProps as s}from"vue";import{formProps as d,useGlobalSize as i,ElForm as f}from"element-plus";import{FaLayoutGrid as u}from"../../layoutGrid/index.mjs";import{definePropType as m,useProps as c,useRender as p,useExpose as n,makeSlots as v}from"@fast-china/utils";import{isObject as F,isNumber as g}from"lodash-unified";import{formUtil as x}from"../utils/form.mjs";const b={...d,labelWidth:{type:[String,Number],default:"auto"},labelSuffix:{type:String,default:":"},scrollToError:{type:Boolean,default:!0},detailForm:Boolean,grid:{type:Boolean,default:!0},cols:{type:m([String,Number,Object]),default:()=>({xs:1,sm:2,md:3,lg:4,xl:5})}},y=/* @__PURE__ */l({name:"FaForm",props:b,slots:v(),setup(l,{attrs:m,slots:v,emit:b,expose:y}){const S=i(),T=e({cols:a(()=>{if(F(l.cols))return l.cols;{const e=g(l.cols)?l.cols:Number(l.cols);return{xs:1,sm:e,md:e,lg:e,xl:e}}}),gap:a(()=>"small"===S.value?[15,0]:[20,0])}),h=o();t("faFormCols",T.cols);const j=c(l,d);return p(()=>r(f,s(j.value,{ref:h,class:["fa-form",`fa-form-${S.value}`,{[`fa-form-detail fa-form-detail_${S.value}`]:l.detailForm}]}),{default:()=>l.grid?r(u,{collapsed:!0,gap:T.gap,cols:T.cols},{default:()=>[v.default&&v.default(T)]}):v.default&&v.default(T)})),n(y,{validate:()=>x.validate(h),validateField:a(()=>h.value?.validateField),resetFields:a(()=>h.value?.resetFields),clearValidate:a(()=>h.value?.clearValidate),scrollToField:a(()=>h.value?.scrollToField),fields:a(()=>h.value?.fields),validateScrollToField:()=>x.validateScrollToField(h)})}});export{y as default,b as faFormProps};
2
2
  //# sourceMappingURL=form.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"form.mjs","sources":["../../../../../packages/components/form/src/form.tsx"],"sourcesContent":["import { computed, defineComponent, provide, reactive, ref } from \"vue\";\nimport { ElForm, formProps, useGlobalSize } from \"element-plus\";\nimport { FaLayoutGrid } from \"@fast-element-plus/components/layoutGrid\";\nimport { definePropType, makeSlots, useExpose, useProps, useRender } from \"@fast-china/utils\";\nimport { isNumber, isObject } from \"lodash-unified\";\nimport { formUtil } from \"../utils/form\";\nimport type { FaLayoutGridBreakPoint } from \"@fast-element-plus/components/layoutGrid\";\nimport type { FormInstance, FormItemContext, FormValidationResult } from \"element-plus\";\n\nexport const faFormProps = {\n\t...formProps,\n\t/** @description Width of label, e.g. `'50px'`. All its direct child form items will inherit this value. `auto` is supported. */\n\tlabelWidth: {\n\t\ttype: [String, Number],\n\t\tdefault: \"auto\",\n\t},\n\t/** @description Suffix of the label. */\n\tlabelSuffix: {\n\t\ttype: String,\n\t\tdefault: \":\",\n\t},\n\t/** @description When validation fails, scroll to the first error form entry. */\n\tscrollToError: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description 详情From,会删除 FormItem 的 paddinfa-bottom */\n\tdetailForm: Boolean,\n\t/** @description Grid布局*/\n\tgrid: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description Grid布局列配置 */\n\tcols: {\n\t\ttype: definePropType<string | number | Record<FaLayoutGridBreakPoint, number>>([String, Number, Object]),\n\t\tdefault: (): Record<FaLayoutGridBreakPoint, number> => ({ xs: 1, sm: 2, md: 3, lg: 4, xl: 5 }),\n\t},\n};\n\ntype FaFormSlots = {\n\t/** @description 默认内容插槽 */\n\tdefault: unknown;\n};\n\nexport default defineComponent({\n\tname: \"FaForm\",\n\tprops: faFormProps,\n\tslots: makeSlots<FaFormSlots>(),\n\tsetup(props, { attrs, slots, expose }) {\n\t\tconst _globalSize = useGlobalSize();\n\n\t\tconst state = reactive({\n\t\t\tcols: computed(() => {\n\t\t\t\tif (isObject(props.cols)) {\n\t\t\t\t\treturn props.cols;\n\t\t\t\t} else {\n\t\t\t\t\tconst colsNumber = isNumber(props.cols) ? props.cols : Number(props.cols);\n\t\t\t\t\treturn { xs: 1, sm: colsNumber, md: colsNumber, lg: colsNumber, xl: colsNumber };\n\t\t\t\t}\n\t\t\t}),\n\t\t\tgap: computed(() => (_globalSize.value === \"small\" ? [15, 0] : [20, 0])),\n\t\t});\n\n\t\tconst formRef = ref<FormInstance>();\n\n\t\t// 注入 cols\n\t\tprovide(\"faFormCols\", state.cols);\n\n\t\tconst elFormProps = useProps(props, formProps);\n\n\t\tuseRender(() => (\n\t\t\t<ElForm\n\t\t\t\t{...elFormProps.value}\n\t\t\t\tref={formRef}\n\t\t\t\tclass={[\"fa-form\", `fa-form-${_globalSize.value}`, { [`fa-form-detail fa-form-detail_${_globalSize.value}`]: props.detailForm }]}\n\t\t\t>\n\t\t\t\t{{\n\t\t\t\t\tdefault: () =>\n\t\t\t\t\t\tprops.grid ? (\n\t\t\t\t\t\t\t<FaLayoutGrid collapsed gap={state.gap} cols={state.cols}>\n\t\t\t\t\t\t\t\t{slots.default && slots.default(state)}\n\t\t\t\t\t\t\t</FaLayoutGrid>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\tslots.default && slots.default(state)\n\t\t\t\t\t\t),\n\t\t\t\t}}\n\t\t\t</ElForm>\n\t\t));\n\n\t\treturn useExpose(expose, {\n\t\t\t/** @description 对整个表单的内容进行验证。 接收一个回调函数,或返回 Promise。 */\n\t\t\tvalidate: (): FormValidationResult => formUtil.validate(formRef),\n\t\t\t/** @description 验证具体的某个字段。 */\n\t\t\tvalidateField: computed(() => formRef.value?.validateField),\n\t\t\t/** @description 重置该表单项,将其值重置为初始值,并移除校验结果 */\n\t\t\tresetFields: computed(() => formRef.value?.resetFields),\n\t\t\t/** @description 清理某个字段的表单验证信息。 */\n\t\t\tclearValidate: computed(() => formRef.value?.clearValidate),\n\t\t\t/** @description 滚动到指定的字段 */\n\t\t\tscrollToField: computed(() => formRef.value?.scrollToField),\n\t\t\t/** @description 获取所有字段的 context */\n\t\t\tfields: computed(() => formRef.value?.fields as FormItemContext[]),\n\t\t\t/** @description 对整个表单的内容进行验证,带滚动。 接收一个回调函数,或返回 Promise。 */\n\t\t\tvalidateScrollToField: (): FormValidationResult => formUtil.validateScrollToField(formRef),\n\t\t});\n\t},\n});\n"],"names":["faFormProps","formProps","labelWidth","type","String","Number","default","labelSuffix","scrollToError","Boolean","detailForm","grid","cols","definePropType","Object","xs","sm","md","lg","xl","Form","name","props","slots","makeSlots","setup","attrs","expose","_globalSize","useGlobalSize","state","reactive","computed","isObject","colsNumber","isNumber","gap","value","formRef","ref","provide","elFormProps","useProps","useRender","_createVNode","ElForm","_mergeProps","class","FaLayoutGrid","collapsed","useExpose","validate","formUtil","validateField","resetFields","clearValidate","scrollToField","fields","validateScrollToField"],"mappings":"8cASO,MAAMA,EAAc,IACvBC,EAEHC,WAAY,CACXC,KAAM,CAACC,OAAQC,QACfC,QAAS,QAGVC,YAAa,CACZJ,KAAMC,OACNE,QAAS,KAGVE,cAAe,CACdL,KAAMM,QACNH,SAAS,GAGVI,WAAYD,QAEZE,KAAM,CACLR,KAAMM,QACNH,SAAS,GAGVM,KAAM,CACLT,KAAMU,EAAyE,CAACT,OAAQC,OAAQS,SAChGR,QAASA,KAAAA,CAAiDS,GAAI,EAAGC,GAAI,EAAGC,GAAI,EAAGC,GAAI,EAAGC,GAAI,MAS5FC,mBAA+B,CAC9BC,KAAM,SACNC,MAAOtB,EACPuB,MAAOC,IACPC,KAAAA,CAAMH,GAAOI,MAAEA,EAAAA,MAAOH,EAAAA,OAAOI,IAC5B,MAAMC,EAAcC,IAEdC,EAAQC,EAAS,CACtBnB,KAAMoB,EAAS,KACd,GAAIC,EAASX,EAAMV,MAClB,OAAOU,EAAMV,KACP,CACN,MAAMsB,EAAaC,EAASb,EAAMV,MAAQU,EAAMV,KAAOP,OAAOiB,EAAMV,MACpE,MAAO,CAAEG,GAAI,EAAGC,GAAIkB,EAAYjB,GAAIiB,EAAYhB,GAAIgB,EAAYf,GAAIe,EACrE,IAEDE,IAAKJ,EAAS,IAA6B,UAAtBJ,EAAYS,MAAoB,CAAC,GAAI,GAAK,CAAC,GAAI,MAG/DC,EAAUC,IAGhBC,EAAQ,aAAcV,EAAMlB,MAE5B,MAAM6B,EAAcC,EAASpB,EAAOrB,GAqBpC,OAnBA0C,EAAU,IAAAC,EAAAC,EAAAC,EAEJL,EAAYJ,MAAK,CAAAE,IAChBD,EAAOS,MACL,CAAC,UAAW,WAAWnB,EAAYS,QAAS,CAAE,CAAC,iCAAiCT,EAAYS,SAAUf,EAAMZ,eAAa,CAG/HJ,QAASA,IACRgB,EAAMX,KAAIiC,EAAAI,EAAA,CAAAC,WAAA,EAAAb,IACoBN,EAAMM,IAAGxB,KAAQkB,EAAMlB,MAAI,CAAAN,QAAAA,IAAA,CACtDiB,EAAMjB,SAAWiB,EAAMjB,QAAQwB,MAGjCP,EAAMjB,SAAWiB,EAAMjB,QAAQwB,MAM7BoB,EAAUvB,EAAQ,CAExBwB,SAAUA,IAA4BC,EAASD,SAASb,GAExDe,cAAerB,EAAS,IAAMM,EAAQD,OAAOgB,eAE7CC,YAAatB,EAAS,IAAMM,EAAQD,OAAOiB,aAE3CC,cAAevB,EAAS,IAAMM,EAAQD,OAAOkB,eAE7CC,cAAexB,EAAS,IAAMM,EAAQD,OAAOmB,eAE7CC,OAAQzB,EAAS,IAAMM,EAAQD,OAAOoB,QAEtCC,sBAAuBA,IAA4BN,EAASM,sBAAsBpB,IAEpF"}
1
+ {"version":3,"file":"form.mjs","sources":["../../../../../packages/components/form/src/form.tsx"],"sourcesContent":["import { computed, defineComponent, provide, reactive, ref } from \"vue\";\nimport { ElForm, formProps, useGlobalSize } from \"element-plus\";\nimport { FaLayoutGrid } from \"@fast-element-plus/components/layoutGrid\";\nimport { definePropType, makeSlots, useExpose, useProps, useRender } from \"@fast-china/utils\";\nimport { isNumber, isObject } from \"lodash-unified\";\nimport { formUtil } from \"../utils/form\";\nimport type { FaLayoutGridBreakPoint } from \"@fast-element-plus/components/layoutGrid\";\nimport type { FormInstance, FormItemContext, FormValidationResult } from \"element-plus\";\n\nexport const faFormProps = {\n\t...formProps,\n\t/** @description Width of label, e.g. `'50px'`. All its direct child form items will inherit this value. `auto` is supported. */\n\tlabelWidth: {\n\t\ttype: [String, Number],\n\t\tdefault: \"auto\",\n\t},\n\t/** @description Suffix of the label. */\n\tlabelSuffix: {\n\t\ttype: String,\n\t\tdefault: \":\",\n\t},\n\t/** @description When validation fails, scroll to the first error form entry. */\n\tscrollToError: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description 详情From,会删除 FormItem 的 paddinfa-bottom */\n\tdetailForm: Boolean,\n\t/** @description Grid布局*/\n\tgrid: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description Grid布局列配置 */\n\tcols: {\n\t\ttype: definePropType<string | number | Record<FaLayoutGridBreakPoint, number>>([String, Number, Object]),\n\t\tdefault: (): Record<FaLayoutGridBreakPoint, number> => ({ xs: 1, sm: 2, md: 3, lg: 4, xl: 5 }),\n\t},\n};\n\ntype FaFormSlots = {\n\t/** @description 默认内容插槽 */\n\tdefault: unknown;\n};\n\nexport default defineComponent({\n\tname: \"FaForm\",\n\tprops: faFormProps,\n\tslots: makeSlots<FaFormSlots>(),\n\tsetup(props, { attrs, slots, emit, expose }) {\n\t\tconst _globalSize = useGlobalSize();\n\n\t\tconst state = reactive({\n\t\t\tcols: computed(() => {\n\t\t\t\tif (isObject(props.cols)) {\n\t\t\t\t\treturn props.cols;\n\t\t\t\t} else {\n\t\t\t\t\tconst colsNumber = isNumber(props.cols) ? props.cols : Number(props.cols);\n\t\t\t\t\treturn { xs: 1, sm: colsNumber, md: colsNumber, lg: colsNumber, xl: colsNumber };\n\t\t\t\t}\n\t\t\t}),\n\t\t\tgap: computed(() => (_globalSize.value === \"small\" ? [15, 0] : [20, 0])),\n\t\t});\n\n\t\tconst formRef = ref<FormInstance>();\n\n\t\t// 注入 cols\n\t\tprovide(\"faFormCols\", state.cols);\n\n\t\tconst elFormProps = useProps(props, formProps);\n\n\t\tuseRender(() => (\n\t\t\t<ElForm\n\t\t\t\t{...elFormProps.value}\n\t\t\t\tref={formRef}\n\t\t\t\tclass={[\"fa-form\", `fa-form-${_globalSize.value}`, { [`fa-form-detail fa-form-detail_${_globalSize.value}`]: props.detailForm }]}\n\t\t\t>\n\t\t\t\t{{\n\t\t\t\t\tdefault: () =>\n\t\t\t\t\t\tprops.grid ? (\n\t\t\t\t\t\t\t<FaLayoutGrid collapsed gap={state.gap} cols={state.cols}>\n\t\t\t\t\t\t\t\t{slots.default && slots.default(state)}\n\t\t\t\t\t\t\t</FaLayoutGrid>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\tslots.default && slots.default(state)\n\t\t\t\t\t\t),\n\t\t\t\t}}\n\t\t\t</ElForm>\n\t\t));\n\n\t\treturn useExpose(expose, {\n\t\t\t/** @description 对整个表单的内容进行验证。 接收一个回调函数,或返回 Promise。 */\n\t\t\tvalidate: (): FormValidationResult => formUtil.validate(formRef),\n\t\t\t/** @description 验证具体的某个字段。 */\n\t\t\tvalidateField: computed(() => formRef.value?.validateField),\n\t\t\t/** @description 重置该表单项,将其值重置为初始值,并移除校验结果 */\n\t\t\tresetFields: computed(() => formRef.value?.resetFields),\n\t\t\t/** @description 清理某个字段的表单验证信息。 */\n\t\t\tclearValidate: computed(() => formRef.value?.clearValidate),\n\t\t\t/** @description 滚动到指定的字段 */\n\t\t\tscrollToField: computed(() => formRef.value?.scrollToField),\n\t\t\t/** @description 获取所有字段的 context */\n\t\t\tfields: computed(() => formRef.value?.fields as FormItemContext[]),\n\t\t\t/** @description 对整个表单的内容进行验证,带滚动。 接收一个回调函数,或返回 Promise。 */\n\t\t\tvalidateScrollToField: (): FormValidationResult => formUtil.validateScrollToField(formRef),\n\t\t});\n\t},\n});\n"],"names":["faFormProps","formProps","labelWidth","type","String","Number","default","labelSuffix","scrollToError","Boolean","detailForm","grid","cols","definePropType","Object","xs","sm","md","lg","xl","Form","name","props","slots","makeSlots","setup","attrs","emit","expose","_globalSize","useGlobalSize","state","reactive","computed","isObject","colsNumber","isNumber","gap","value","formRef","ref","provide","elFormProps","useProps","useRender","_createVNode","ElForm","_mergeProps","class","FaLayoutGrid","collapsed","useExpose","validate","formUtil","validateField","resetFields","clearValidate","scrollToField","fields","validateScrollToField"],"mappings":"8cASO,MAAMA,EAAc,IACvBC,EAEHC,WAAY,CACXC,KAAM,CAACC,OAAQC,QACfC,QAAS,QAGVC,YAAa,CACZJ,KAAMC,OACNE,QAAS,KAGVE,cAAe,CACdL,KAAMM,QACNH,SAAS,GAGVI,WAAYD,QAEZE,KAAM,CACLR,KAAMM,QACNH,SAAS,GAGVM,KAAM,CACLT,KAAMU,EAAyE,CAACT,OAAQC,OAAQS,SAChGR,QAASA,KAAAA,CAAiDS,GAAI,EAAGC,GAAI,EAAGC,GAAI,EAAGC,GAAI,EAAGC,GAAI,MAS5FC,mBAA+B,CAC9BC,KAAM,SACNC,MAAOtB,EACPuB,MAAOC,IACPC,KAAAA,CAAMH,GAAOI,MAAEA,EAAAA,MAAOH,EAAAA,KAAOI,EAAAA,OAAMC,IAClC,MAAMC,EAAcC,IAEdC,EAAQC,EAAS,CACtBpB,KAAMqB,EAAS,KACd,GAAIC,EAASZ,EAAMV,MAClB,OAAOU,EAAMV,KACP,CACN,MAAMuB,EAAaC,EAASd,EAAMV,MAAQU,EAAMV,KAAOP,OAAOiB,EAAMV,MACpE,MAAO,CAAEG,GAAI,EAAGC,GAAImB,EAAYlB,GAAIkB,EAAYjB,GAAIiB,EAAYhB,GAAIgB,EACrE,IAEDE,IAAKJ,EAAS,IAA6B,UAAtBJ,EAAYS,MAAoB,CAAC,GAAI,GAAK,CAAC,GAAI,MAG/DC,EAAUC,IAGhBC,EAAQ,aAAcV,EAAMnB,MAE5B,MAAM8B,EAAcC,EAASrB,EAAOrB,GAqBpC,OAnBA2C,EAAU,IAAAC,EAAAC,EAAAC,EAEJL,EAAYJ,MAAK,CAAAE,IAChBD,EAAOS,MACL,CAAC,UAAW,WAAWnB,EAAYS,QAAS,CAAE,CAAC,iCAAiCT,EAAYS,SAAUhB,EAAMZ,eAAa,CAG/HJ,QAASA,IACRgB,EAAMX,KAAIkC,EAAAI,EAAA,CAAAC,WAAA,EAAAb,IACoBN,EAAMM,IAAGzB,KAAQmB,EAAMnB,MAAI,CAAAN,QAAAA,IAAA,CACtDiB,EAAMjB,SAAWiB,EAAMjB,QAAQyB,MAGjCR,EAAMjB,SAAWiB,EAAMjB,QAAQyB,MAM7BoB,EAAUvB,EAAQ,CAExBwB,SAAUA,IAA4BC,EAASD,SAASb,GAExDe,cAAerB,EAAS,IAAMM,EAAQD,OAAOgB,eAE7CC,YAAatB,EAAS,IAAMM,EAAQD,OAAOiB,aAE3CC,cAAevB,EAAS,IAAMM,EAAQD,OAAOkB,eAE7CC,cAAexB,EAAS,IAAMM,EAAQD,OAAOmB,eAE7CC,OAAQzB,EAAS,IAAMM,EAAQD,OAAOoB,QAEtCC,sBAAuBA,IAA4BN,EAASM,sBAAsBpB,IAEpF"}
@@ -1,2 +1,2 @@
1
- import{defineComponent as e,ref as l,inject as a,Fragment as t,createVNode as r,mergeProps as s,computed as o}from"vue";import{formItemProps as i,ElFormItem as f}from"element-plus";import{FaFormItemTip as u}from"../../formItemTip/index.mjs";import{FaLayoutGridItem as p}from"../../layoutGrid/index.mjs";import{useProps as n,useRender as m,useExpose as d,makeSlots as b}from"@fast-china/utils";import{isNumber as v}from"lodash-unified";const g={...i,tips:String,grid:{type:Boolean,default:!0},offset:{type:[String,Number],default:0},span:{type:[String,Number]},row:Boolean},c=/* @__PURE__ */e({name:"FaFormItem",props:g,slots:b(),setup(e,{attrs:b,slots:g,expose:c}){const N=l(),S=a("cols",l(4)),x=n(e,i),y=e.grid?p:t;return m(()=>r(y,(()=>{if(!e.grid)return{};if(e.span)return{span:v(e.span)?e.span:Number(e.span),offset:v(e.offset)?e.offset:Number(e.offset)};{const l={span:1,offset:v(e.offset)?e.offset:Number(e.offset)};return e.row&&(l.span=S.value),l}})(),{default:()=>[r(f,s({ref:N},x.value),{default:()=>g.default(),...g.label&&!e.tips&&{label:({label:e})=>g.label({label:e})},...g.label&&e.tips&&{label:({label:e})=>r(u,null,{label:()=>g.label({label:e})})},...!g.label&&e.tips&&{label:({label:l})=>r(u,{label:l??e.label,tips:e.tips},null)},...g.error&&{error:({error:e})=>g.error({error:e})}})]})),d(c,{size:o(()=>N.value?.size),validateMessage:o(()=>N.value?.validateMessage),validateState:o(()=>N.value?.validateState),validate:o(()=>N.value?.validate),clearValidate:o(()=>N.value?.clearValidate),resetField:o(()=>N.value?.resetField)})}});export{c as default,g as faFormItemProps};
1
+ import{defineComponent as e,ref as l,inject as a,Fragment as t,createVNode as r,mergeProps as s,computed as o}from"vue";import{formItemProps as i,ElFormItem as f}from"element-plus";import{FaFormItemTip as u}from"../../formItemTip/index.mjs";import{FaLayoutGridItem as p}from"../../layoutGrid/index.mjs";import{useProps as n,useRender as m,useExpose as d,makeSlots as b}from"@fast-china/utils";import{isNumber as v}from"lodash-unified";const g={...i,tips:String,grid:{type:Boolean,default:!0},offset:{type:[String,Number],default:0},span:{type:[String,Number]},row:Boolean},c=/* @__PURE__ */e({name:"FaFormItem",props:g,slots:b(),setup(e,{attrs:b,slots:g,emit:c,expose:N}){const S=l(),x=a("cols",l(4)),y=n(e,i),F=e.grid?p:t;return m(()=>r(F,(()=>{if(!e.grid)return{};if(e.span)return{span:v(e.span)?e.span:Number(e.span),offset:v(e.offset)?e.offset:Number(e.offset)};{const l={span:1,offset:v(e.offset)?e.offset:Number(e.offset)};return e.row&&(l.span=x.value),l}})(),{default:()=>[r(f,s({ref:S},y.value),{default:()=>g.default(),...g.label&&!e.tips&&{label:({label:e})=>g.label({label:e})},...g.label&&e.tips&&{label:({label:e})=>r(u,null,{label:()=>g.label({label:e})})},...!g.label&&e.tips&&{label:({label:l})=>r(u,{label:l??e.label,tips:e.tips},null)},...g.error&&{error:({error:e})=>g.error({error:e})}})]})),d(N,{size:o(()=>S.value?.size),validateMessage:o(()=>S.value?.validateMessage),validateState:o(()=>S.value?.validateState),validate:o(()=>S.value?.validate),clearValidate:o(()=>S.value?.clearValidate),resetField:o(()=>S.value?.resetField)})}});export{c as default,g as faFormItemProps};
2
2
  //# sourceMappingURL=formItem.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"formItem.mjs","sources":["../../../../../packages/components/form/src/formItem.tsx"],"sourcesContent":["import { Fragment, computed, defineComponent, inject, ref } from \"vue\";\nimport { ElFormItem, formItemProps } from \"element-plus\";\nimport { FaFormItemTip } from \"@fast-element-plus/components/formItemTip\";\nimport { FaLayoutGridItem } from \"@fast-element-plus/components/layoutGrid\";\nimport { makeSlots, useExpose, useProps, useRender } from \"@fast-china/utils\";\nimport { isNumber } from \"lodash-unified\";\nimport type { FormItemInstance } from \"element-plus\";\nimport type { Ref, VNode } from \"vue\";\n\nexport const faFormItemProps = {\n\t...formItemProps,\n\t/** @description Label tips 提示 */\n\ttips: String,\n\t/** @description Grid 布局 */\n\tgrid: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description 偏移量 */\n\toffset: {\n\t\ttype: [String, Number],\n\t\tdefault: 0,\n\t},\n\t/** @description 栅格跨度 */\n\tspan: {\n\t\ttype: [String, Number],\n\t},\n\t/** @description 独占一行。如果设置 span 则无效 */\n\trow: Boolean,\n};\n\ntype FaFormItemSlots = {\n\t/** @description 默认内容插槽 */\n\tdefault: never;\n\t/** @description 标签位置显示的内容 */\n\tlabel: { label: string };\n\t/** @description 验证错误信息的显示内容 */\n\terror: { error: string };\n};\n\nexport default defineComponent({\n\tname: \"FaFormItem\",\n\tprops: faFormItemProps,\n\tslots: makeSlots<FaFormItemSlots>(),\n\tsetup(props, { attrs, slots, expose }) {\n\t\tconst formItemRef = ref<FormItemInstance>();\n\n\t\tconst cols = inject<Ref<number>>(\"cols\", ref(4));\n\n\t\t// 获取响应式设置\n\t\tconst getResponsive = (): {\n\t\t\tspan?: number;\n\t\t\toffset?: number;\n\t\t} => {\n\t\t\tif (!props.grid) return {};\n\t\t\tif (props.span) {\n\t\t\t\treturn {\n\t\t\t\t\tspan: isNumber(props.span) ? props.span : Number(props.span),\n\t\t\t\t\toffset: isNumber(props.offset) ? props.offset : Number(props.offset),\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\tconst result = {\n\t\t\t\t\tspan: 1,\n\t\t\t\t\toffset: isNumber(props.offset) ? props.offset : Number(props.offset),\n\t\t\t\t};\n\t\t\t\tif (props.row) {\n\t\t\t\t\tresult.span = cols.value;\n\t\t\t\t}\n\t\t\t\treturn result;\n\t\t\t}\n\t\t};\n\n\t\tconst elFormItemProps = useProps(props, formItemProps);\n\n\t\tconst ParcelComponent = props.grid ? FaLayoutGridItem : Fragment;\n\n\t\tuseRender(() => (\n\t\t\t<ParcelComponent {...getResponsive()}>\n\t\t\t\t<ElFormItem ref={formItemRef} {...elFormItemProps.value}>\n\t\t\t\t\t{{\n\t\t\t\t\t\tdefault: () => slots.default(),\n\t\t\t\t\t\t...(slots.label && !props.tips && { label: ({ label }: { label: string }): VNode[] => slots.label({ label }) }),\n\t\t\t\t\t\t...(slots.label &&\n\t\t\t\t\t\t\tprops.tips && {\n\t\t\t\t\t\t\t\tlabel: ({ label }: { label: string }): VNode[] => (\n\t\t\t\t\t\t\t\t\t<FaFormItemTip>\n\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\tlabel: () => slots.label({ label }),\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t</FaFormItemTip>\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t...(!slots.label &&\n\t\t\t\t\t\t\tprops.tips && {\n\t\t\t\t\t\t\t\tlabel: ({ label }: { label: string }): VNode[] => <FaFormItemTip label={label ?? props.label} tips={props.tips} />,\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t...(slots.error && { error: ({ error }: { error: string }): VNode[] => slots.error({ error }) }),\n\t\t\t\t\t}}\n\t\t\t\t</ElFormItem>\n\t\t\t</ParcelComponent>\n\t\t));\n\n\t\treturn useExpose(expose, {\n\t\t\t/** @description 表单项大小 */\n\t\t\tsize: computed(() => formItemRef.value?.size),\n\t\t\t/** @description 校验消息 */\n\t\t\tvalidateMessage: computed(() => formItemRef.value?.validateMessage),\n\t\t\t/** @description 校验状态 */\n\t\t\tvalidateState: computed(() => formItemRef.value?.validateState),\n\t\t\t/** @description 验证表单项 */\n\t\t\tvalidate: computed(() => formItemRef.value?.validate),\n\t\t\t/** @description 移除该表单项的校验结果 */\n\t\t\tclearValidate: computed(() => formItemRef.value?.clearValidate),\n\t\t\t/** @description 对该表单项进行重置,将其值重置为初始值并移除校验结果 */\n\t\t\tresetField: computed(() => formItemRef.value?.resetField),\n\t\t});\n\t},\n});\n"],"names":["faFormItemProps","formItemProps","tips","String","grid","type","Boolean","default","offset","Number","span","row","FormItem","name","props","slots","makeSlots","setup","attrs","expose","formItemRef","ref","cols","inject","elFormItemProps","useProps","ParcelComponent","FaLayoutGridItem","Fragment","useRender","_createVNode","getResponsive","isNumber","result","value","ElFormItem","_mergeProps","label","FaFormItemTip","error","useExpose","size","computed","validateMessage","validateState","validate","clearValidate","resetField"],"mappings":"mbASO,MAAMA,EAAkB,IAC3BC,EAEHC,KAAMC,OAENC,KAAM,CACLC,KAAMC,QACNC,SAAS,GAGVC,OAAQ,CACPH,KAAM,CAACF,OAAQM,QACfF,QAAS,GAGVG,KAAM,CACLL,KAAM,CAACF,OAAQM,SAGhBE,IAAKL,SAYNM,mBAA+B,CAC9BC,KAAM,aACNC,MAAOd,EACPe,MAAOC,IACPC,KAAAA,CAAMH,GAAOI,MAAEA,EAAAA,MAAOH,EAAAA,OAAOI,IAC5B,MAAMC,EAAcC,IAEdC,EAAOC,EAAoB,OAAQF,EAAI,IAyBvCG,EAAkBC,EAASX,EAAOb,GAElCyB,EAAkBZ,EAAMV,KAAOuB,EAAmBC,EA4BxD,OA1BAC,EAAU,IAAAC,EAAAJ,EA1BYK,MAIrB,IAAKjB,EAAMV,KAAM,MAAO,CAAA,EACxB,GAAIU,EAAMJ,KACT,MAAO,CACNA,KAAMsB,EAASlB,EAAMJ,MAAQI,EAAMJ,KAAOD,OAAOK,EAAMJ,MACvDF,OAAQwB,EAASlB,EAAMN,QAAUM,EAAMN,OAASC,OAAOK,EAAMN,SAExD,CACN,MAAMyB,EAAS,CACdvB,KAAM,EACNF,OAAQwB,EAASlB,EAAMN,QAAUM,EAAMN,OAASC,OAAOK,EAAMN,SAK9D,OAHIM,EAAMH,MACTsB,EAAOvB,KAAOY,EAAKY,OAEbD,CACR,GAQqBF,GAAe,CAAAxB,QAAAA,IAAA,CAAAuB,EAAAK,EAAAC,EAAA,CAAAf,IAClBD,GAAiBI,EAAgBU,OAAK,CAErD3B,QAASA,IAAMQ,EAAMR,aACjBQ,EAAMsB,QAAUvB,EAAMZ,MAAQ,CAAEmC,MAAOA,EAAGA,WAAwCtB,EAAMsB,MAAM,CAAEA,cAChGtB,EAAMsB,OACTvB,EAAMZ,MAAQ,CACbmC,MAAOA,EAAGA,WAA0BP,EAAAQ,EAAA,KAAA,CAGjCD,MAAOA,IAAMtB,EAAMsB,MAAM,CAAEA,iBAK3BtB,EAAMsB,OACVvB,EAAMZ,MAAQ,CACbmC,MAAOA,EAAGA,WAA0BP,EAAAQ,EAAA,CAAAD,MAAoCA,GAASvB,EAAMuB,MAAKnC,KAAQY,EAAMZ,MAAI,UAE5Ga,EAAMwB,OAAS,CAAEA,MAAOA,EAAGA,WAAwCxB,EAAMwB,MAAM,CAAEA,iBAMlFC,EAAUrB,EAAQ,CAExBsB,KAAMC,EAAS,IAAMtB,EAAYc,OAAOO,MAExCE,gBAAiBD,EAAS,IAAMtB,EAAYc,OAAOS,iBAEnDC,cAAeF,EAAS,IAAMtB,EAAYc,OAAOU,eAEjDC,SAAUH,EAAS,IAAMtB,EAAYc,OAAOW,UAE5CC,cAAeJ,EAAS,IAAMtB,EAAYc,OAAOY,eAEjDC,WAAYL,EAAS,IAAMtB,EAAYc,OAAOa,aAEhD"}
1
+ {"version":3,"file":"formItem.mjs","sources":["../../../../../packages/components/form/src/formItem.tsx"],"sourcesContent":["import { Fragment, computed, defineComponent, inject, ref } from \"vue\";\nimport { ElFormItem, formItemProps } from \"element-plus\";\nimport { FaFormItemTip } from \"@fast-element-plus/components/formItemTip\";\nimport { FaLayoutGridItem } from \"@fast-element-plus/components/layoutGrid\";\nimport { makeSlots, useExpose, useProps, useRender } from \"@fast-china/utils\";\nimport { isNumber } from \"lodash-unified\";\nimport type { FormItemInstance } from \"element-plus\";\nimport type { Ref, VNode } from \"vue\";\n\nexport const faFormItemProps = {\n\t...formItemProps,\n\t/** @description Label tips 提示 */\n\ttips: String,\n\t/** @description Grid 布局 */\n\tgrid: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description 偏移量 */\n\toffset: {\n\t\ttype: [String, Number],\n\t\tdefault: 0,\n\t},\n\t/** @description 栅格跨度 */\n\tspan: {\n\t\ttype: [String, Number],\n\t},\n\t/** @description 独占一行。如果设置 span 则无效 */\n\trow: Boolean,\n};\n\ntype FaFormItemSlots = {\n\t/** @description 默认内容插槽 */\n\tdefault: never;\n\t/** @description 标签位置显示的内容 */\n\tlabel: { label: string };\n\t/** @description 验证错误信息的显示内容 */\n\terror: { error: string };\n};\n\nexport default defineComponent({\n\tname: \"FaFormItem\",\n\tprops: faFormItemProps,\n\tslots: makeSlots<FaFormItemSlots>(),\n\tsetup(props, { attrs, slots, emit, expose }) {\n\t\tconst formItemRef = ref<FormItemInstance>();\n\n\t\tconst cols = inject<Ref<number>>(\"cols\", ref(4));\n\n\t\t// 获取响应式设置\n\t\tconst getResponsive = (): {\n\t\t\tspan?: number;\n\t\t\toffset?: number;\n\t\t} => {\n\t\t\tif (!props.grid) return {};\n\t\t\tif (props.span) {\n\t\t\t\treturn {\n\t\t\t\t\tspan: isNumber(props.span) ? props.span : Number(props.span),\n\t\t\t\t\toffset: isNumber(props.offset) ? props.offset : Number(props.offset),\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\tconst result = {\n\t\t\t\t\tspan: 1,\n\t\t\t\t\toffset: isNumber(props.offset) ? props.offset : Number(props.offset),\n\t\t\t\t};\n\t\t\t\tif (props.row) {\n\t\t\t\t\tresult.span = cols.value;\n\t\t\t\t}\n\t\t\t\treturn result;\n\t\t\t}\n\t\t};\n\n\t\tconst elFormItemProps = useProps(props, formItemProps);\n\n\t\tconst ParcelComponent = props.grid ? FaLayoutGridItem : Fragment;\n\n\t\tuseRender(() => (\n\t\t\t<ParcelComponent {...getResponsive()}>\n\t\t\t\t<ElFormItem ref={formItemRef} {...elFormItemProps.value}>\n\t\t\t\t\t{{\n\t\t\t\t\t\tdefault: () => slots.default(),\n\t\t\t\t\t\t...(slots.label && !props.tips && { label: ({ label }: { label: string }): VNode[] => slots.label({ label }) }),\n\t\t\t\t\t\t...(slots.label &&\n\t\t\t\t\t\t\tprops.tips && {\n\t\t\t\t\t\t\t\tlabel: ({ label }: { label: string }): VNode[] => (\n\t\t\t\t\t\t\t\t\t<FaFormItemTip>\n\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\tlabel: () => slots.label({ label }),\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t</FaFormItemTip>\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t...(!slots.label &&\n\t\t\t\t\t\t\tprops.tips && {\n\t\t\t\t\t\t\t\tlabel: ({ label }: { label: string }): VNode[] => <FaFormItemTip label={label ?? props.label} tips={props.tips} />,\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t...(slots.error && { error: ({ error }: { error: string }): VNode[] => slots.error({ error }) }),\n\t\t\t\t\t}}\n\t\t\t\t</ElFormItem>\n\t\t\t</ParcelComponent>\n\t\t));\n\n\t\treturn useExpose(expose, {\n\t\t\t/** @description 表单项大小 */\n\t\t\tsize: computed(() => formItemRef.value?.size),\n\t\t\t/** @description 校验消息 */\n\t\t\tvalidateMessage: computed(() => formItemRef.value?.validateMessage),\n\t\t\t/** @description 校验状态 */\n\t\t\tvalidateState: computed(() => formItemRef.value?.validateState),\n\t\t\t/** @description 验证表单项 */\n\t\t\tvalidate: computed(() => formItemRef.value?.validate),\n\t\t\t/** @description 移除该表单项的校验结果 */\n\t\t\tclearValidate: computed(() => formItemRef.value?.clearValidate),\n\t\t\t/** @description 对该表单项进行重置,将其值重置为初始值并移除校验结果 */\n\t\t\tresetField: computed(() => formItemRef.value?.resetField),\n\t\t});\n\t},\n});\n"],"names":["faFormItemProps","formItemProps","tips","String","grid","type","Boolean","default","offset","Number","span","row","FormItem","name","props","slots","makeSlots","setup","attrs","emit","expose","formItemRef","ref","cols","inject","elFormItemProps","useProps","ParcelComponent","FaLayoutGridItem","Fragment","useRender","_createVNode","getResponsive","isNumber","result","value","ElFormItem","_mergeProps","label","FaFormItemTip","error","useExpose","size","computed","validateMessage","validateState","validate","clearValidate","resetField"],"mappings":"mbASO,MAAMA,EAAkB,IAC3BC,EAEHC,KAAMC,OAENC,KAAM,CACLC,KAAMC,QACNC,SAAS,GAGVC,OAAQ,CACPH,KAAM,CAACF,OAAQM,QACfF,QAAS,GAGVG,KAAM,CACLL,KAAM,CAACF,OAAQM,SAGhBE,IAAKL,SAYNM,mBAA+B,CAC9BC,KAAM,aACNC,MAAOd,EACPe,MAAOC,IACPC,KAAAA,CAAMH,GAAOI,MAAEA,EAAAA,MAAOH,EAAAA,KAAOI,EAAAA,OAAMC,IAClC,MAAMC,EAAcC,IAEdC,EAAOC,EAAoB,OAAQF,EAAI,IAyBvCG,EAAkBC,EAASZ,EAAOb,GAElC0B,EAAkBb,EAAMV,KAAOwB,EAAmBC,EA4BxD,OA1BAC,EAAU,IAAAC,EAAAJ,EA1BYK,MAIrB,IAAKlB,EAAMV,KAAM,MAAO,CAAA,EACxB,GAAIU,EAAMJ,KACT,MAAO,CACNA,KAAMuB,EAASnB,EAAMJ,MAAQI,EAAMJ,KAAOD,OAAOK,EAAMJ,MACvDF,OAAQyB,EAASnB,EAAMN,QAAUM,EAAMN,OAASC,OAAOK,EAAMN,SAExD,CACN,MAAM0B,EAAS,CACdxB,KAAM,EACNF,OAAQyB,EAASnB,EAAMN,QAAUM,EAAMN,OAASC,OAAOK,EAAMN,SAK9D,OAHIM,EAAMH,MACTuB,EAAOxB,KAAOa,EAAKY,OAEbD,CACR,GAQqBF,GAAe,CAAAzB,QAAAA,IAAA,CAAAwB,EAAAK,EAAAC,EAAA,CAAAf,IAClBD,GAAiBI,EAAgBU,OAAK,CAErD5B,QAASA,IAAMQ,EAAMR,aACjBQ,EAAMuB,QAAUxB,EAAMZ,MAAQ,CAAEoC,MAAOA,EAAGA,WAAwCvB,EAAMuB,MAAM,CAAEA,cAChGvB,EAAMuB,OACTxB,EAAMZ,MAAQ,CACboC,MAAOA,EAAGA,WAA0BP,EAAAQ,EAAA,KAAA,CAGjCD,MAAOA,IAAMvB,EAAMuB,MAAM,CAAEA,iBAK3BvB,EAAMuB,OACVxB,EAAMZ,MAAQ,CACboC,MAAOA,EAAGA,WAA0BP,EAAAQ,EAAA,CAAAD,MAAoCA,GAASxB,EAAMwB,MAAKpC,KAAQY,EAAMZ,MAAI,UAE5Ga,EAAMyB,OAAS,CAAEA,MAAOA,EAAGA,WAAwCzB,EAAMyB,MAAM,CAAEA,iBAMlFC,EAAUrB,EAAQ,CAExBsB,KAAMC,EAAS,IAAMtB,EAAYc,OAAOO,MAExCE,gBAAiBD,EAAS,IAAMtB,EAAYc,OAAOS,iBAEnDC,cAAeF,EAAS,IAAMtB,EAAYc,OAAOU,eAEjDC,SAAUH,EAAS,IAAMtB,EAAYc,OAAOW,UAE5CC,cAAeJ,EAAS,IAAMtB,EAAYc,OAAOY,eAEjDC,WAAYL,EAAS,IAAMtB,EAAYc,OAAOa,aAEhD"}
@@ -1,2 +1,2 @@
1
- import{defineComponent as t,createVNode as l}from"vue";import{ElTooltip as e,ElIcon as a}from"element-plus";import{QuestionFilled as o}from"@element-plus/icons-vue";import{useRender as s,makeSlots as m}from"@fast-china/utils";const p={tips:String,label:String},i=/* @__PURE__ */t({name:"FaFormItemTip",props:p,slots:m(),setup(t,{slots:m}){s(()=>l("div",{class:"fa-form-item-tip"},[l(e,{effect:"dark",rawContent:!0,content:t.tips,placement:"top"},{default:()=>[l(a,null,{default:()=>[l(o,null,null)]})]}),l("span",{class:"fa-form-item-tip__label"},[m.label?m.label():t.label])]))}});export{i as default,p as faFormItemTipProps};
1
+ import{defineComponent as t,createVNode as e}from"vue";import{ElTooltip as l,ElIcon as a}from"element-plus";import{QuestionFilled as s}from"@element-plus/icons-vue";import{useRender as o,makeSlots as m}from"@fast-china/utils";const p={tips:String,label:String},i=/* @__PURE__ */t({name:"FaFormItemTip",props:p,slots:m(),setup(t,{attrs:m,slots:p,emit:i,expose:r}){o(()=>e("div",{class:"fa-form-item-tip"},[e(l,{effect:"dark",rawContent:!0,content:t.tips,placement:"top"},{default:()=>[e(a,null,{default:()=>[e(s,null,null)]})]}),e("span",{class:"fa-form-item-tip__label"},[p.label?p.label():t.label])]))}});export{i as default,p as faFormItemTipProps};
2
2
  //# sourceMappingURL=formItemTip.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"formItemTip.mjs","sources":["../../../../../packages/components/formItemTip/src/formItemTip.tsx"],"sourcesContent":["import { defineComponent } from \"vue\";\nimport { ElIcon, ElTooltip } from \"element-plus\";\nimport { QuestionFilled } from \"@element-plus/icons-vue\";\nimport { makeSlots, useRender } from \"@fast-china/utils\";\n\nexport const faFormItemTipProps = {\n\t/** @description 提示 */\n\ttips: String,\n\t/** @description 显示 */\n\tlabel: String,\n};\n\ntype FaFormItemTipSlots = {\n\t/** @description 显示插槽 */\n\tlabel: never;\n};\n\nexport default defineComponent({\n\tname: \"FaFormItemTip\",\n\tprops: faFormItemTipProps,\n\tslots: makeSlots<FaFormItemTipSlots>(),\n\tsetup(props, { slots }) {\n\t\tuseRender(() => (\n\t\t\t<div class=\"fa-form-item-tip\">\n\t\t\t\t<ElTooltip effect=\"dark\" rawContent content={props.tips} placement=\"top\">\n\t\t\t\t\t<ElIcon>\n\t\t\t\t\t\t<QuestionFilled />\n\t\t\t\t\t</ElIcon>\n\t\t\t\t</ElTooltip>\n\t\t\t\t<span class=\"fa-form-item-tip__label\">{slots.label ? slots.label() : props.label}</span>\n\t\t\t</div>\n\t\t));\n\t},\n});\n"],"names":["faFormItemTipProps","tips","String","label","FormItemTip","name","props","slots","makeSlots","setup","useRender","_createVNode","class","ElTooltip","effect","rawContent","content","placement","default","ElIcon","QuestionFilled"],"mappings":"kOAKO,MAAMA,EAAqB,CAEjCC,KAAMC,OAENC,MAAOD,QAQRE,mBAA+B,CAC9BC,KAAM,gBACNC,MAAON,EACPO,MAAOC,IACPC,KAAAA,CAAMH,GAAOC,MAAEA,IACdG,EAAU,IAAAC,EAAA,MAAA,CAAAC,MAAA,oBAAA,CAAAD,EAAAE,EAAA,CAAAC,OAAA,OAAAC,YAAA,EAAAC,QAEqCV,EAAML,KAAIgB,UAAA,OAAA,CAAAC,QAAAA,IAAA,CAAAP,EAAAQ,EAAA,KAAA,CAAAD,QAAAA,IAAA,CAAAP,EAAAS,EAAA,KAAA,YAAAT,EAAA,OAAA,CAAAC,MAAA,2BAAA,CAKhBL,EAAMJ,MAAQI,EAAMJ,QAAUG,EAAMH,UAG9E"}
1
+ {"version":3,"file":"formItemTip.mjs","sources":["../../../../../packages/components/formItemTip/src/formItemTip.tsx"],"sourcesContent":["import { defineComponent } from \"vue\";\nimport { ElIcon, ElTooltip } from \"element-plus\";\nimport { QuestionFilled } from \"@element-plus/icons-vue\";\nimport { makeSlots, useRender } from \"@fast-china/utils\";\n\nexport const faFormItemTipProps = {\n\t/** @description 提示 */\n\ttips: String,\n\t/** @description 显示 */\n\tlabel: String,\n};\n\ntype FaFormItemTipSlots = {\n\t/** @description 显示插槽 */\n\tlabel: never;\n};\n\nexport default defineComponent({\n\tname: \"FaFormItemTip\",\n\tprops: faFormItemTipProps,\n\tslots: makeSlots<FaFormItemTipSlots>(),\n\tsetup(props, { attrs, slots, emit, expose }) {\n\t\tuseRender(() => (\n\t\t\t<div class=\"fa-form-item-tip\">\n\t\t\t\t<ElTooltip effect=\"dark\" rawContent content={props.tips} placement=\"top\">\n\t\t\t\t\t<ElIcon>\n\t\t\t\t\t\t<QuestionFilled />\n\t\t\t\t\t</ElIcon>\n\t\t\t\t</ElTooltip>\n\t\t\t\t<span class=\"fa-form-item-tip__label\">{slots.label ? slots.label() : props.label}</span>\n\t\t\t</div>\n\t\t));\n\t},\n});\n"],"names":["faFormItemTipProps","tips","String","label","FormItemTip","name","props","slots","makeSlots","setup","attrs","emit","expose","useRender","_createVNode","class","ElTooltip","effect","rawContent","content","placement","default","ElIcon","QuestionFilled"],"mappings":"kOAKO,MAAMA,EAAqB,CAEjCC,KAAMC,OAENC,MAAOD,QAQRE,mBAA+B,CAC9BC,KAAM,gBACNC,MAAON,EACPO,MAAOC,IACPC,KAAAA,CAAMH,GAAOI,MAAEA,EAAAA,MAAOH,EAAAA,KAAOI,EAAAA,OAAMC,IAClCC,EAAU,IAAAC,EAAA,MAAA,CAAAC,MAAA,oBAAA,CAAAD,EAAAE,EAAA,CAAAC,OAAA,OAAAC,YAAA,EAAAC,QAEqCb,EAAML,KAAImB,UAAA,OAAA,CAAAC,QAAAA,IAAA,CAAAP,EAAAQ,EAAA,KAAA,CAAAD,QAAAA,IAAA,CAAAP,EAAAS,EAAA,KAAA,YAAAT,EAAA,OAAA,CAAAC,MAAA,2BAAA,CAKhBR,EAAMJ,MAAQI,EAAMJ,QAAUG,EAAMH,UAG9E"}
@@ -1,2 +1,2 @@
1
- import{isVNode as e,defineComponent as t,reactive as n,computed as o,createVNode as r,mergeProps as s,h as a,resolveComponent as i}from"vue";import{ElIcon as l}from"element-plus";import"../../../constants/index.mjs";import{addUnit as c,useRender as m}from"@fast-china/utils";import{RegExps as u}from"../../../constants/regex.mjs";function f(t){return"function"==typeof t||"[object Object]"===Object.prototype.toString.call(t)&&!e(t)}const p={name:{type:String,required:!0},size:{type:[String,Number]},color:String},y=/* @__PURE__ */t({name:"FaIcon",props:p,setup(e,{attrs:t}){const p=n({isUrl:o(()=>u.External.test(e.name)),style:o(()=>{const t={};return e.size&&(t.size=c(e.size)),e.color&&(t.color=e.color),p.isUrl&&(t.mask=`url(${e.name}) no-repeat 50% 50%`,t["-webkit-mask"]=`url(${e.name}) no-repeat 50% 50%`),t})});m(()=>{let n,o;return 0===e.name.indexOf("el-icon-")?r(l,s(t,e,{class:["fa-icon",e.name]}),f(n=a(i(e.name)))?n:{default:()=>[n]}):0===e.name.indexOf("fa-icon")?r(l,s(t,e,{class:["fa-icon",e.name]}),f(o=a(i(e.name)))?o:{default:()=>[o]}):p.isUrl?r("div",s(t,{class:"el-icon fa-icon url-icon",style:p.style}),null):r("i",s(t,{class:["el-icon fa-icon",e.name],style:p.style}),null)})}});export{y as default,p as faIconProps};
1
+ import{isVNode as e,defineComponent as t,reactive as n,computed as o,createVNode as s,mergeProps as r,h as a,resolveComponent as i}from"vue";import{ElIcon as l}from"element-plus";import"../../../constants/index.mjs";import{addUnit as c,useRender as m}from"@fast-china/utils";import{RegExps as u}from"../../../constants/regex.mjs";function f(t){return"function"==typeof t||"[object Object]"===Object.prototype.toString.call(t)&&!e(t)}const p={name:{type:String,required:!0},size:{type:[String,Number]},color:String},y=/* @__PURE__ */t({name:"FaIcon",props:p,setup(e,{attrs:t,slots:p,emit:y,expose:d}){const x=n({isUrl:o(()=>u.External.test(e.name)),style:o(()=>{const t={};return e.size&&(t.size=c(e.size)),e.color&&(t.color=e.color),x.isUrl&&(t.mask=`url(${e.name}) no-repeat 50% 50%`,t["-webkit-mask"]=`url(${e.name}) no-repeat 50% 50%`),t})});m(()=>{let n,o;return 0===e.name.indexOf("el-icon-")?s(l,r(t,e,{class:["fa-icon",e.name]}),f(n=a(i(e.name)))?n:{default:()=>[n]}):0===e.name.indexOf("fa-icon")?s(l,r(t,e,{class:["fa-icon",e.name]}),f(o=a(i(e.name)))?o:{default:()=>[o]}):x.isUrl?s("div",r(t,{class:"el-icon fa-icon url-icon",style:x.style}),null):s("i",r(t,{class:["el-icon fa-icon",e.name],style:x.style}),null)})}});export{y as default,p as faIconProps};
2
2
  //# sourceMappingURL=icon.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"icon.mjs","sources":["../../../../../packages/components/icon/src/icon.tsx"],"sourcesContent":["import { computed, defineComponent, h, reactive, resolveComponent } from \"vue\";\nimport { ElIcon } from \"element-plus\";\nimport { RegExps } from \"@fast-element-plus/constants\";\nimport { addUnit, useRender } from \"@fast-china/utils\";\nimport type { CSSProperties } from \"vue\";\n\nexport const faIconProps = {\n\t/** @description el-icon- 使用 El-icon 的图标;fa-icon 使用 Fast 图标组件库; */\n\tname: {\n\t\ttype: String,\n\t\trequired: true,\n\t},\n\t/** @description 大小 */\n\tsize: {\n\t\ttype: [String, Number],\n\t},\n\t/** @description 颜色*/\n\tcolor: String,\n};\n\nexport default defineComponent({\n\tname: \"FaIcon\",\n\tprops: faIconProps,\n\tsetup(props, { attrs }) {\n\t\tconst state = reactive({\n\t\t\tisUrl: computed(() => RegExps.External.test(props.name)),\n\t\t\tstyle: computed((): CSSProperties => {\n\t\t\t\tconst result: any = {};\n\t\t\t\tif (props.size) {\n\t\t\t\t\tresult.size = addUnit(props.size);\n\t\t\t\t}\n\t\t\t\tif (props.color) {\n\t\t\t\t\tresult.color = props.color;\n\t\t\t\t}\n\t\t\t\tif (state.isUrl) {\n\t\t\t\t\tresult.mask = `url(${props.name}) no-repeat 50% 50%`;\n\t\t\t\t\tresult[\"-webkit-mask\"] = `url(${props.name}) no-repeat 50% 50%`;\n\t\t\t\t}\n\t\t\t\treturn result;\n\t\t\t}),\n\t\t});\n\n\t\tuseRender(() =>\n\t\t\tprops.name.indexOf(\"el-icon-\") === 0 ? (\n\t\t\t\t<ElIcon {...attrs} {...props} class={[\"fa-icon\", props.name]}>\n\t\t\t\t\t{h(resolveComponent(props.name))}\n\t\t\t\t</ElIcon>\n\t\t\t) : props.name.indexOf(\"fa-icon\") === 0 ? (\n\t\t\t\t<ElIcon {...attrs} {...props} class={[\"fa-icon\", props.name]}>\n\t\t\t\t\t{h(resolveComponent(props.name))}\n\t\t\t\t</ElIcon>\n\t\t\t) : state.isUrl ? (\n\t\t\t\t<div {...attrs} class=\"el-icon fa-icon url-icon\" style={state.style} />\n\t\t\t) : (\n\t\t\t\t<i {...attrs} class={[\"el-icon fa-icon\", props.name]} style={state.style} />\n\t\t\t)\n\t\t);\n\t},\n});\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","faIconProps","name","type","String","required","size","Number","color","Icon","props","setup","attrs","state","reactive","isUrl","computed","RegExps","External","test","style","result","addUnit","mask","useRender","_slot","_slot2","indexOf","_createVNode","ElIcon","_mergeProps","class","h","resolveComponent","default"],"mappings":"0UAGuD,SAAAA,EAAAC,GAAA,MAAA,mBAAAA,GAAA,oBAAAC,OAAAC,UAAAC,SAAAC,KAAAJ,KAAAK,EAAAL,EAAA,CAGhD,MAAMM,EAAc,CAE1BC,KAAM,CACLC,KAAMC,OACNC,UAAU,GAGXC,KAAM,CACLH,KAAM,CAACC,OAAQG,SAGhBC,MAAOJ,QAGRK,mBAA+B,CAC9BP,KAAM,SACNQ,MAAOT,EACPU,KAAAA,CAAMD,GAAOE,MAAEA,IACd,MAAMC,EAAQC,EAAS,CACtBC,MAAOC,EAAS,IAAMC,EAAQC,SAASC,KAAKT,EAAMR,OAClDkB,MAAOJ,EAAS,KACf,MAAMK,EAAc,CAAA,EAWpB,OAVIX,EAAMJ,OACTe,EAAOf,KAAOgB,EAAQZ,EAAMJ,OAEzBI,EAAMF,QACTa,EAAOb,MAAQE,EAAMF,OAElBK,EAAME,QACTM,EAAOE,KAAO,OAAOb,EAAMR,0BAC3BmB,EAAO,gBAAkB,OAAOX,EAAMR,2BAEhCmB,MAITG,EAAU,KAAA,IAAAC,EAAAC,EAAA,OAC0B,IAAnChB,EAAMR,KAAKyB,QAAQ,YAAiBC,EAAAC,EAAAC,EACvBlB,EAAWF,EAAK,CAAAqB,MAAS,CAAC,UAAWrB,EAAMR,QAAKR,EAAA+B,EAC1DO,EAAEC,EAAiBvB,EAAMR,QAAMuB,EAAA,CAAAS,QAAAA,IAAA,CAAAT,KAEI,IAAlCf,EAAMR,KAAKyB,QAAQ,WAAgBC,EAAAC,EAAAC,EAC1BlB,EAAWF,EAAK,CAAAqB,MAAS,CAAC,UAAWrB,EAAMR,QAAKR,EAAAgC,EAC1DM,EAAEC,EAAiBvB,EAAMR,QAAMwB,EAAA,CAAAQ,QAAAA,IAAA,CAAAR,KAE9Bb,EAAME,MAAKa,EAAA,MAAAE,EACLlB,EAAK,CAAAmB,MAAA,2BAAAX,MAA0CP,EAAMO,QAAK,MAAAQ,EAAA,IAAAE,EAE5DlB,EAAK,CAAAmB,MAAS,CAAC,kBAAmBrB,EAAMR,MAAKkB,MAASP,EAAMO,QAAK,OAG3E"}
1
+ {"version":3,"file":"icon.mjs","sources":["../../../../../packages/components/icon/src/icon.tsx"],"sourcesContent":["import { computed, defineComponent, h, reactive, resolveComponent } from \"vue\";\nimport { ElIcon } from \"element-plus\";\nimport { RegExps } from \"@fast-element-plus/constants\";\nimport { addUnit, useRender } from \"@fast-china/utils\";\nimport type { CSSProperties } from \"vue\";\n\nexport const faIconProps = {\n\t/** @description el-icon- 使用 El-icon 的图标;fa-icon 使用 Fast 图标组件库; */\n\tname: {\n\t\ttype: String,\n\t\trequired: true,\n\t},\n\t/** @description 大小 */\n\tsize: {\n\t\ttype: [String, Number],\n\t},\n\t/** @description 颜色*/\n\tcolor: String,\n};\n\nexport default defineComponent({\n\tname: \"FaIcon\",\n\tprops: faIconProps,\n\tsetup(props, { attrs, slots, emit, expose }) {\n\t\tconst state = reactive({\n\t\t\tisUrl: computed(() => RegExps.External.test(props.name)),\n\t\t\tstyle: computed((): CSSProperties => {\n\t\t\t\tconst result: any = {};\n\t\t\t\tif (props.size) {\n\t\t\t\t\tresult.size = addUnit(props.size);\n\t\t\t\t}\n\t\t\t\tif (props.color) {\n\t\t\t\t\tresult.color = props.color;\n\t\t\t\t}\n\t\t\t\tif (state.isUrl) {\n\t\t\t\t\tresult.mask = `url(${props.name}) no-repeat 50% 50%`;\n\t\t\t\t\tresult[\"-webkit-mask\"] = `url(${props.name}) no-repeat 50% 50%`;\n\t\t\t\t}\n\t\t\t\treturn result;\n\t\t\t}),\n\t\t});\n\n\t\tuseRender(() =>\n\t\t\tprops.name.indexOf(\"el-icon-\") === 0 ? (\n\t\t\t\t<ElIcon {...attrs} {...props} class={[\"fa-icon\", props.name]}>\n\t\t\t\t\t{h(resolveComponent(props.name))}\n\t\t\t\t</ElIcon>\n\t\t\t) : props.name.indexOf(\"fa-icon\") === 0 ? (\n\t\t\t\t<ElIcon {...attrs} {...props} class={[\"fa-icon\", props.name]}>\n\t\t\t\t\t{h(resolveComponent(props.name))}\n\t\t\t\t</ElIcon>\n\t\t\t) : state.isUrl ? (\n\t\t\t\t<div {...attrs} class=\"el-icon fa-icon url-icon\" style={state.style} />\n\t\t\t) : (\n\t\t\t\t<i {...attrs} class={[\"el-icon fa-icon\", props.name]} style={state.style} />\n\t\t\t)\n\t\t);\n\t},\n});\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","faIconProps","name","type","String","required","size","Number","color","Icon","props","setup","attrs","slots","emit","expose","state","reactive","isUrl","computed","RegExps","External","test","style","result","addUnit","mask","useRender","_slot","_slot2","indexOf","_createVNode","ElIcon","_mergeProps","class","h","resolveComponent","default"],"mappings":"0UAGuD,SAAAA,EAAAC,GAAA,MAAA,mBAAAA,GAAA,oBAAAC,OAAAC,UAAAC,SAAAC,KAAAJ,KAAAK,EAAAL,EAAA,CAGhD,MAAMM,EAAc,CAE1BC,KAAM,CACLC,KAAMC,OACNC,UAAU,GAGXC,KAAM,CACLH,KAAM,CAACC,OAAQG,SAGhBC,MAAOJ,QAGRK,mBAA+B,CAC9BP,KAAM,SACNQ,MAAOT,EACPU,KAAAA,CAAMD,GAAOE,MAAEA,EAAAA,MAAOC,EAAAA,KAAOC,EAAAA,OAAMC,IAClC,MAAMC,EAAQC,EAAS,CACtBC,MAAOC,EAAS,IAAMC,EAAQC,SAASC,KAAKZ,EAAMR,OAClDqB,MAAOJ,EAAS,KACf,MAAMK,EAAc,CAAA,EAWpB,OAVId,EAAMJ,OACTkB,EAAOlB,KAAOmB,EAAQf,EAAMJ,OAEzBI,EAAMF,QACTgB,EAAOhB,MAAQE,EAAMF,OAElBQ,EAAME,QACTM,EAAOE,KAAO,OAAOhB,EAAMR,0BAC3BsB,EAAO,gBAAkB,OAAOd,EAAMR,2BAEhCsB,MAITG,EAAU,KAAA,IAAAC,EAAAC,EAAA,OAC0B,IAAnCnB,EAAMR,KAAK4B,QAAQ,YAAiBC,EAAAC,EAAAC,EACvBrB,EAAWF,EAAK,CAAAwB,MAAS,CAAC,UAAWxB,EAAMR,QAAKR,EAAAkC,EAC1DO,EAAEC,EAAiB1B,EAAMR,QAAM0B,EAAA,CAAAS,QAAAA,IAAA,CAAAT,KAEI,IAAlClB,EAAMR,KAAK4B,QAAQ,WAAgBC,EAAAC,EAAAC,EAC1BrB,EAAWF,EAAK,CAAAwB,MAAS,CAAC,UAAWxB,EAAMR,QAAKR,EAAAmC,EAC1DM,EAAEC,EAAiB1B,EAAMR,QAAM2B,EAAA,CAAAQ,QAAAA,IAAA,CAAAR,KAE9Bb,EAAME,MAAKa,EAAA,MAAAE,EACLrB,EAAK,CAAAsB,MAAA,2BAAAX,MAA0CP,EAAMO,QAAK,MAAAQ,EAAA,IAAAE,EAE5DrB,EAAK,CAAAsB,MAAS,CAAC,kBAAmBxB,EAAMR,MAAKqB,MAASP,EAAMO,QAAK,OAG3E"}
@@ -1,2 +1,2 @@
1
- import{isVNode as e,defineComponent as o,reactive as l,computed as a,createVNode as s,createTextVNode as c}from"vue";import{ElPopover as t,ElScrollbar as i,ElInput as n,ElIcon as r}from"element-plus";import*as p from"@element-plus/icons-vue";import{RefreshRight as u,ChromeFilled as m}from"@element-plus/icons-vue";import{FaIcon as d}from"../../icon/index.mjs";import f from"@fast-element-plus/icons-vue";import{withDefineType as v,useRender as b,useExpose as h,definePropType as _}from"@fast-china/utils";import{isString as V,isNull as y}from"lodash-unified";const k=/* @__PURE__ */o({name:"FaIconSelector",props:{modelValue:String,customIcons:_(Array)},emits:{"update:modelValue":e=>V(e)||y(e),change:e=>V(e)||y(e)},setup(o,{attrs:_,slots:V,emit:y,expose:k}){const x=l({value:v(),searchValue:v(),iconType:v("ele"),popoverVisible:!1,iconNames:v(Object.keys(p)),renderIconNames:a(()=>x.searchValue?x.iconNames.filter(e=>-1!==e.toLowerCase().indexOf(x.searchValue.toLowerCase())):x.iconNames)}),N=e=>{switch(x.iconType=e,x.iconNames=[],e){case"ele":x.iconNames=Object.keys(p).map(e=>`el-icon-${e}`);break;case"fastEle":x.iconNames=Object.keys(f).map(e=>`fa-icon-${e}`);break;case"local":x.iconNames=o.customIcons}},C=()=>{x.value=null,x.searchValue=null,y("update:modelValue",null),y("change",null)};return b(()=>s(t,{popperClass:"fa-icon-selector-popover",visible:x.popoverVisible,width:"auto",trigger:"click",showArrow:!1,showAfter:0,hideAfter:0},{reference:()=>s(n,{modelValue:x.searchValue,"onUpdate:modelValue":e=>x.searchValue=e,placeholder:"搜索图标"},{prepend:()=>s(r,null,{default:()=>[s(m,null,null)]}),append:()=>s(r,{onClick:C},{default:()=>[s(u,null,null)]})}),default:()=>{let o;return s("div",{class:"fa-icon-selector-popover__box"},[s("div",{class:"fa-icon-selector-popover__box-header"},[s("div",{class:"fa-icon-selector-popover__box-header__title"},[c("请选择图标")]),s("div",{class:"fa-icon-selector-popover__box-header__tab"},[s("span",{class:{"is-active":"ele"===x.iconType},title:"Element Plus 图标",onClick:()=>N("ele")},[c("ele")]),s("span",{class:{"is-active":"fastEle"===x.iconType},title:"Fast Element Plus 图标",onClick:()=>N("fastEle")},[c("fastEle")]),s("span",{class:{"is-active":"local"===x.iconType},title:"本地图标",onClick:()=>N("local")},[c("local")])])]),s("div",{class:"fa-icon-selector-popover__box-body"},[s(i,null,(l=o=x.renderIconNames.map(e=>s("div",{class:"fa-icon-selector-popover__box-body__item",title:e,onClick:()=>{return o=e,x.popoverVisible=!1,x.value=o,x.searchValue="",y("update:modelValue",o),void y("change",o);var o}},[s(d,{name:e},null)])),"function"==typeof l||"[object Object]"===Object.prototype.toString.call(l)&&!e(l)?o:{default:()=>[o]}))])]);var l}})),h(k,{iconType:x.iconType})}});export{k as default};
1
+ import{isVNode as e,defineComponent as o,reactive as l,computed as a,createVNode as s,createTextVNode as c}from"vue";import{ElPopover as t,ElScrollbar as i,ElInput as n,ElIcon as r}from"element-plus";import*as p from"@element-plus/icons-vue";import{RefreshRight as u,ChromeFilled as m}from"@element-plus/icons-vue";import{FaIcon as d}from"../../icon/index.mjs";import*as f from"@fast-element-plus/icons-vue";import{withDefineType as v,useRender as b,useExpose as h,definePropType as _}from"@fast-china/utils";import{isString as V,isNull as y}from"lodash-unified";const k=/* @__PURE__ */o({name:"FaIconSelector",props:{modelValue:String,customIcons:_(Array)},emits:{"update:modelValue":e=>V(e)||y(e),change:e=>V(e)||y(e)},setup(o,{attrs:_,slots:V,emit:y,expose:k}){const x=l({value:v(),searchValue:v(),iconType:v("ele"),popoverVisible:!1,iconNames:v(Object.keys(p)),renderIconNames:a(()=>x.searchValue?x.iconNames.filter(e=>-1!==e.toLowerCase().indexOf(x.searchValue.toLowerCase())):x.iconNames)}),N=e=>{switch(x.iconType=e,x.iconNames=[],e){case"ele":x.iconNames=Object.keys(p).map(e=>`el-icon-${e}`);break;case"fastEle":x.iconNames=Object.keys(f).map(e=>`fa-icon-${e}`);break;case"local":x.iconNames=o.customIcons}},C=()=>{x.value=null,x.searchValue=null,y("update:modelValue",null),y("change",null)};return b(()=>s(t,{popperClass:"fa-icon-selector-popover",visible:x.popoverVisible,width:"auto",trigger:"click",showArrow:!1,showAfter:0,hideAfter:0},{reference:()=>s(n,{modelValue:x.searchValue,"onUpdate:modelValue":e=>x.searchValue=e,placeholder:"搜索图标"},{prepend:()=>s(r,null,{default:()=>[s(m,null,null)]}),append:()=>s(r,{onClick:C},{default:()=>[s(u,null,null)]})}),default:()=>{let o;return s("div",{class:"fa-icon-selector-popover__box"},[s("div",{class:"fa-icon-selector-popover__box-header"},[s("div",{class:"fa-icon-selector-popover__box-header__title"},[c("请选择图标")]),s("div",{class:"fa-icon-selector-popover__box-header__tab"},[s("span",{class:{"is-active":"ele"===x.iconType},title:"Element Plus 图标",onClick:()=>N("ele")},[c("ele")]),s("span",{class:{"is-active":"fastEle"===x.iconType},title:"Fast Element Plus 图标",onClick:()=>N("fastEle")},[c("fastEle")]),s("span",{class:{"is-active":"local"===x.iconType},title:"本地图标",onClick:()=>N("local")},[c("local")])])]),s("div",{class:"fa-icon-selector-popover__box-body"},[s(i,null,(l=o=x.renderIconNames.map(e=>s("div",{class:"fa-icon-selector-popover__box-body__item",title:e,onClick:()=>{return o=e,x.popoverVisible=!1,x.value=o,x.searchValue="",y("update:modelValue",o),void y("change",o);var o}},[s(d,{name:e},null)])),"function"==typeof l||"[object Object]"===Object.prototype.toString.call(l)&&!e(l)?o:{default:()=>[o]}))])]);var l}})),h(k,{iconType:x.iconType})}});export{k as default};
2
2
  //# sourceMappingURL=iconSelector.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"iconSelector.mjs","sources":["../../../../../packages/components/iconSelector/src/iconSelector.tsx"],"sourcesContent":["import { computed, defineComponent, reactive } from \"vue\";\nimport { ElIcon, ElInput, ElPopover, ElScrollbar } from \"element-plus\";\nimport * as ElementPlusIconsVue from \"@element-plus/icons-vue\";\nimport { ChromeFilled, RefreshRight } from \"@element-plus/icons-vue\";\nimport { FaIcon } from \"@fast-element-plus/components/icon\";\nimport FastElementPlusIconsVue from \"@fast-element-plus/icons-vue\";\nimport { definePropType, useExpose, useRender, withDefineType } from \"@fast-china/utils\";\nimport { isNull, isString } from \"lodash-unified\";\n\ntype IconType = \"ele\" | \"fastEle\" | \"local\";\n\nexport default defineComponent({\n\tname: \"FaIconSelector\",\n\tprops: {\n\t\t/** @description v-model绑定值 */\n\t\tmodelValue: String,\n\t\t/** @description 自定义图标 */\n\t\tcustomIcons: definePropType<string[]>(Array),\n\t},\n\temits: {\n\t\t/** @description v-model 回调 */\n\t\t\"update:modelValue\": (value: string) => isString(value) || isNull(value),\n\t\t/** @description 改变 */\n\t\tchange: (value: string) => isString(value) || isNull(value),\n\t},\n\tsetup(props, { attrs, slots, emit, expose }) {\n\t\tconst state = reactive({\n\t\t\tvalue: withDefineType<string>(),\n\t\t\tsearchValue: withDefineType<string>(),\n\t\t\ticonType: withDefineType<IconType>(\"ele\"),\n\t\t\tpopoverVisible: false,\n\t\t\ticonNames: withDefineType<string[]>(Object.keys(ElementPlusIconsVue)),\n\t\t\trenderIconNames: computed((): string[] => {\n\t\t\t\tif (!state.searchValue) return state.iconNames;\n\t\t\t\treturn state.iconNames.filter((f) => f.toLowerCase().indexOf(state.searchValue.toLowerCase()) !== -1);\n\t\t\t}),\n\t\t});\n\n\t\tconst handleTabClick = (iconType: IconType): void => {\n\t\t\tstate.iconType = iconType;\n\t\t\tstate.iconNames = [];\n\t\t\tswitch (iconType) {\n\t\t\t\tcase \"ele\":\n\t\t\t\t\tstate.iconNames = Object.keys(ElementPlusIconsVue).map((m) => `el-icon-${m}`);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"fastEle\":\n\t\t\t\t\tstate.iconNames = Object.keys(FastElementPlusIconsVue).map((m) => `fa-icon-${m}`);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"local\":\n\t\t\t\t\tstate.iconNames = props.customIcons;\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t};\n\n\t\tconst handleIconClick = (value: string): void => {\n\t\t\tstate.popoverVisible = false;\n\t\t\tstate.value = value;\n\t\t\tstate.searchValue = \"\";\n\t\t\temit(\"update:modelValue\", value);\n\t\t\temit(\"change\", value);\n\t\t};\n\n\t\tconst handleRefresh = (): void => {\n\t\t\tstate.value = null;\n\t\t\tstate.searchValue = null;\n\t\t\temit(\"update:modelValue\", null);\n\t\t\temit(\"change\", null);\n\t\t};\n\n\t\tuseRender(() => (\n\t\t\t<ElPopover\n\t\t\t\tpopperClass=\"fa-icon-selector-popover\"\n\t\t\t\tvisible={state.popoverVisible}\n\t\t\t\twidth=\"auto\"\n\t\t\t\ttrigger=\"click\"\n\t\t\t\tshowArrow={false}\n\t\t\t\tshowAfter={0}\n\t\t\t\thideAfter={0}\n\t\t\t>\n\t\t\t\t{{\n\t\t\t\t\treference: () => (\n\t\t\t\t\t\t<ElInput vModel={state.searchValue} placeholder=\"搜索图标\">\n\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\tprepend: () => (\n\t\t\t\t\t\t\t\t\t<ElIcon>\n\t\t\t\t\t\t\t\t\t\t<ChromeFilled />\n\t\t\t\t\t\t\t\t\t</ElIcon>\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\tappend: () => (\n\t\t\t\t\t\t\t\t\t<ElIcon onClick={handleRefresh}>\n\t\t\t\t\t\t\t\t\t\t<RefreshRight />\n\t\t\t\t\t\t\t\t\t</ElIcon>\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t</ElInput>\n\t\t\t\t\t),\n\t\t\t\t\tdefault: () => (\n\t\t\t\t\t\t<div class=\"fa-icon-selector-popover__box\">\n\t\t\t\t\t\t\t<div class=\"fa-icon-selector-popover__box-header\">\n\t\t\t\t\t\t\t\t<div class=\"fa-icon-selector-popover__box-header__title\">请选择图标</div>\n\t\t\t\t\t\t\t\t<div class=\"fa-icon-selector-popover__box-header__tab\">\n\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\tclass={{ \"is-active\": state.iconType === \"ele\" }}\n\t\t\t\t\t\t\t\t\t\ttitle=\"Element Plus 图标\"\n\t\t\t\t\t\t\t\t\t\tonClick={() => handleTabClick(\"ele\")}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\tele\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\tclass={{ \"is-active\": state.iconType === \"fastEle\" }}\n\t\t\t\t\t\t\t\t\t\ttitle=\"Fast Element Plus 图标\"\n\t\t\t\t\t\t\t\t\t\tonClick={() => handleTabClick(\"fastEle\")}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\tfastEle\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\tclass={{ \"is-active\": state.iconType === \"local\" }}\n\t\t\t\t\t\t\t\t\t\ttitle=\"本地图标\"\n\t\t\t\t\t\t\t\t\t\tonClick={() => handleTabClick(\"local\")}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\tlocal\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"fa-icon-selector-popover__box-body\">\n\t\t\t\t\t\t\t\t<ElScrollbar>\n\t\t\t\t\t\t\t\t\t{state.renderIconNames.map((m) => (\n\t\t\t\t\t\t\t\t\t\t<div class=\"fa-icon-selector-popover__box-body__item\" title={m} onClick={() => handleIconClick(m)}>\n\t\t\t\t\t\t\t\t\t\t\t<FaIcon name={m} />\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t</ElScrollbar>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t),\n\t\t\t\t}}\n\t\t\t</ElPopover>\n\t\t));\n\n\t\treturn useExpose(expose, {\n\t\t\ticonType: state.iconType,\n\t\t});\n\t},\n});\n"],"names":["IconSelector","name","props","modelValue","String","customIcons","definePropType","Array","emits","value","isString","isNull","change","setup","attrs","slots","emit","expose","state","reactive","withDefineType","searchValue","iconType","popoverVisible","iconNames","Object","keys","ElementPlusIconsVue","renderIconNames","computed","filter","f","toLowerCase","indexOf","handleTabClick","map","m","FastElementPlusIconsVue","handleRefresh","useRender","_createVNode","ElPopover","popperClass","visible","width","trigger","showArrow","showAfter","hideAfter","reference","ElInput","$event","placeholder","prepend","ElIcon","default","ChromeFilled","append","onClick","RefreshRight","_slot","class","_createTextVNode","title","ElScrollbar","s","handleIconClick","FaIcon","prototype","toString","call","_isVNode","useExpose"],"mappings":"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"}
1
+ {"version":3,"file":"iconSelector.mjs","sources":["../../../../../packages/components/iconSelector/src/iconSelector.tsx"],"sourcesContent":["import { computed, defineComponent, reactive } from \"vue\";\nimport { ElIcon, ElInput, ElPopover, ElScrollbar } from \"element-plus\";\nimport * as ElementPlusIconsVue from \"@element-plus/icons-vue\";\nimport { ChromeFilled, RefreshRight } from \"@element-plus/icons-vue\";\nimport { FaIcon } from \"@fast-element-plus/components/icon\";\nimport * as FastElementPlusIconsVue from \"@fast-element-plus/icons-vue\";\nimport { definePropType, useExpose, useRender, withDefineType } from \"@fast-china/utils\";\nimport { isNull, isString } from \"lodash-unified\";\n\ntype IconType = \"ele\" | \"fastEle\" | \"local\";\n\nexport default defineComponent({\n\tname: \"FaIconSelector\",\n\tprops: {\n\t\t/** @description v-model绑定值 */\n\t\tmodelValue: String,\n\t\t/** @description 自定义图标 */\n\t\tcustomIcons: definePropType<string[]>(Array),\n\t},\n\temits: {\n\t\t/** @description v-model 回调 */\n\t\t\"update:modelValue\": (value: string) => isString(value) || isNull(value),\n\t\t/** @description 改变 */\n\t\tchange: (value: string) => isString(value) || isNull(value),\n\t},\n\tsetup(props, { attrs, slots, emit, expose }) {\n\t\tconst state = reactive({\n\t\t\tvalue: withDefineType<string>(),\n\t\t\tsearchValue: withDefineType<string>(),\n\t\t\ticonType: withDefineType<IconType>(\"ele\"),\n\t\t\tpopoverVisible: false,\n\t\t\ticonNames: withDefineType<string[]>(Object.keys(ElementPlusIconsVue)),\n\t\t\trenderIconNames: computed((): string[] => {\n\t\t\t\tif (!state.searchValue) return state.iconNames;\n\t\t\t\treturn state.iconNames.filter((f) => f.toLowerCase().indexOf(state.searchValue.toLowerCase()) !== -1);\n\t\t\t}),\n\t\t});\n\n\t\tconst handleTabClick = (iconType: IconType): void => {\n\t\t\tstate.iconType = iconType;\n\t\t\tstate.iconNames = [];\n\t\t\tswitch (iconType) {\n\t\t\t\tcase \"ele\":\n\t\t\t\t\tstate.iconNames = Object.keys(ElementPlusIconsVue).map((m) => `el-icon-${m}`);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"fastEle\":\n\t\t\t\t\tstate.iconNames = Object.keys(FastElementPlusIconsVue).map((m) => `fa-icon-${m}`);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"local\":\n\t\t\t\t\tstate.iconNames = props.customIcons;\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t};\n\n\t\tconst handleIconClick = (value: string): void => {\n\t\t\tstate.popoverVisible = false;\n\t\t\tstate.value = value;\n\t\t\tstate.searchValue = \"\";\n\t\t\temit(\"update:modelValue\", value);\n\t\t\temit(\"change\", value);\n\t\t};\n\n\t\tconst handleRefresh = (): void => {\n\t\t\tstate.value = null;\n\t\t\tstate.searchValue = null;\n\t\t\temit(\"update:modelValue\", null);\n\t\t\temit(\"change\", null);\n\t\t};\n\n\t\tuseRender(() => (\n\t\t\t<ElPopover\n\t\t\t\tpopperClass=\"fa-icon-selector-popover\"\n\t\t\t\tvisible={state.popoverVisible}\n\t\t\t\twidth=\"auto\"\n\t\t\t\ttrigger=\"click\"\n\t\t\t\tshowArrow={false}\n\t\t\t\tshowAfter={0}\n\t\t\t\thideAfter={0}\n\t\t\t>\n\t\t\t\t{{\n\t\t\t\t\treference: () => (\n\t\t\t\t\t\t<ElInput vModel={state.searchValue} placeholder=\"搜索图标\">\n\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\tprepend: () => (\n\t\t\t\t\t\t\t\t\t<ElIcon>\n\t\t\t\t\t\t\t\t\t\t<ChromeFilled />\n\t\t\t\t\t\t\t\t\t</ElIcon>\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\tappend: () => (\n\t\t\t\t\t\t\t\t\t<ElIcon onClick={handleRefresh}>\n\t\t\t\t\t\t\t\t\t\t<RefreshRight />\n\t\t\t\t\t\t\t\t\t</ElIcon>\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t</ElInput>\n\t\t\t\t\t),\n\t\t\t\t\tdefault: () => (\n\t\t\t\t\t\t<div class=\"fa-icon-selector-popover__box\">\n\t\t\t\t\t\t\t<div class=\"fa-icon-selector-popover__box-header\">\n\t\t\t\t\t\t\t\t<div class=\"fa-icon-selector-popover__box-header__title\">请选择图标</div>\n\t\t\t\t\t\t\t\t<div class=\"fa-icon-selector-popover__box-header__tab\">\n\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\tclass={{ \"is-active\": state.iconType === \"ele\" }}\n\t\t\t\t\t\t\t\t\t\ttitle=\"Element Plus 图标\"\n\t\t\t\t\t\t\t\t\t\tonClick={() => handleTabClick(\"ele\")}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\tele\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\tclass={{ \"is-active\": state.iconType === \"fastEle\" }}\n\t\t\t\t\t\t\t\t\t\ttitle=\"Fast Element Plus 图标\"\n\t\t\t\t\t\t\t\t\t\tonClick={() => handleTabClick(\"fastEle\")}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\tfastEle\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\tclass={{ \"is-active\": state.iconType === \"local\" }}\n\t\t\t\t\t\t\t\t\t\ttitle=\"本地图标\"\n\t\t\t\t\t\t\t\t\t\tonClick={() => handleTabClick(\"local\")}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\tlocal\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"fa-icon-selector-popover__box-body\">\n\t\t\t\t\t\t\t\t<ElScrollbar>\n\t\t\t\t\t\t\t\t\t{state.renderIconNames.map((m) => (\n\t\t\t\t\t\t\t\t\t\t<div class=\"fa-icon-selector-popover__box-body__item\" title={m} onClick={() => handleIconClick(m)}>\n\t\t\t\t\t\t\t\t\t\t\t<FaIcon name={m} />\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t</ElScrollbar>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t),\n\t\t\t\t}}\n\t\t\t</ElPopover>\n\t\t));\n\n\t\treturn useExpose(expose, {\n\t\t\ticonType: state.iconType,\n\t\t});\n\t},\n});\n"],"names":["IconSelector","name","props","modelValue","String","customIcons","definePropType","Array","emits","value","isString","isNull","change","setup","attrs","slots","emit","expose","state","reactive","withDefineType","searchValue","iconType","popoverVisible","iconNames","Object","keys","ElementPlusIconsVue","renderIconNames","computed","filter","f","toLowerCase","indexOf","handleTabClick","map","m","FastElementPlusIconsVue","handleRefresh","useRender","_createVNode","ElPopover","popperClass","visible","width","trigger","showArrow","showAfter","hideAfter","reference","ElInput","$event","placeholder","prepend","ElIcon","default","ChromeFilled","append","onClick","RefreshRight","_slot","class","_createTextVNode","title","ElScrollbar","s","handleIconClick","FaIcon","prototype","toString","call","_isVNode","useExpose"],"mappings":"mjBAWA,MAAAA,mBAA+B,CAC9BC,KAAM,iBACNC,MAAO,CAENC,WAAYC,OAEZC,YAAaC,EAAyBC,QAEvCC,MAAO,CAEN,oBAAsBC,GAAkBC,EAASD,IAAUE,EAAOF,GAElEG,OAASH,GAAkBC,EAASD,IAAUE,EAAOF,IAEtDI,KAAAA,CAAMX,GAAOY,MAAEA,EAAAA,MAAOC,EAAAA,KAAOC,EAAAA,OAAMC,IAClC,MAAMC,EAAQC,EAAS,CACtBV,MAAOW,IACPC,YAAaD,IACbE,SAAUF,EAAyB,OACnCG,gBAAgB,EAChBC,UAAWJ,EAAyBK,OAAOC,KAAKC,IAChDC,gBAAiBC,EAAS,IACpBX,EAAMG,YACJH,EAAMM,UAAUM,OAAQC,IAAmE,IAA7DA,EAAEC,cAAcC,QAAQf,EAAMG,YAAYW,gBADhDd,EAAMM,aAKjCU,EAAkBZ,IAGvB,OAFAJ,EAAMI,SAAWA,EACjBJ,EAAMM,UAAY,GACVF,GACP,IAAK,MACJJ,EAAMM,UAAYC,OAAOC,KAAKC,GAAqBQ,IAAKC,GAAM,WAAWA,KACzE,MACD,IAAK,UACJlB,EAAMM,UAAYC,OAAOC,KAAKW,GAAyBF,IAAKC,GAAM,WAAWA,KAC7E,MACD,IAAK,QACJlB,EAAMM,UAAYtB,EAAMG,cAarBiC,EAAgBA,KACrBpB,EAAMT,MAAQ,KACdS,EAAMG,YAAc,KACpBL,EAAK,oBAAqB,MAC1BA,EAAK,SAAU,OAyEhB,OAtEAuB,EAAU,IAAAC,EAAAC,EAAA,CAAAC,YAAA,2BAAAC,QAGCzB,EAAMK,eAAcqB,MAAA,OAAAC,QAAA,QAAAC,WAGlB,EAAKC,UACL,EAACC,UACD,GAAC,CAGXC,UAAWA,IAAAT,EAAAU,EAAA,CAAA/C,WACOe,EAAMG,YAAW,sBAAA8B,GAAjBjC,EAAMG,YAAW8B,EAAAC,YAAA,QAAA,CAEhCC,QAASA,IAAAb,EAAAc,EAAA,KAAA,CAAAC,QAAAA,IAAA,CAAAf,EAAAgB,EAAA,KAAA,SAKTC,OAAQA,IAAAjB,EAAAc,EAAA,CAAAI,QACUpB,GAAa,CAAAiB,QAAAA,IAAA,CAAAf,EAAAmB,EAAA,KAAA,WAOlCJ,QAASA,KAAA,IAAAK,EAAA,OAAApB,EAAA,MAAA,CAAAqB,MAAA,iCAAA,CAAArB,EAAA,MAAA,CAAAqB,MAAA,wCAAA,CAAArB,EAAA,MAAA,CAAAqB,MAAA,+CAAA,CAAAC,aAAAtB,EAAA,MAAA,CAAAqB,MAAA,6CAAA,CAAArB,EAAA,OAAA,CAAAqB,MAMG,CAAE,YAAgC,QAAnB3C,EAAMI,UAAoByC,MAAA,kBAAAL,QAEvCA,IAAMxB,EAAe,QAAM,CAAA4B,WAAAtB,EAAA,OAAA,CAAAqB,MAK7B,CAAE,YAAgC,YAAnB3C,EAAMI,UAAwByC,MAAA,uBAAAL,QAE3CA,IAAMxB,EAAe,YAAU,CAAA4B,eAAAtB,EAAA,OAAA,CAAAqB,MAKjC,CAAE,YAAgC,UAAnB3C,EAAMI,UAAsByC,MAAA,OAAAL,QAEzCA,IAAMxB,EAAe,UAAQ,CAAA4B,iBAAAtB,EAAA,MAAA,CAAAqB,MAAA,sCAAA,CAAArB,EAAAwB,EAAA,MA/GEC,EA+GFL,EAQtC1C,EAAMU,gBAAgBO,IAAKC,GAACI,EAAA,MAAA,CAAAqB,MAAA,2CAAAE,MACiC3B,EAACsB,QAAWA,KAAMQ,OAzE9DzD,EAyE8E2B,EAxEtGlB,EAAMK,gBAAiB,EACvBL,EAAMT,MAAQA,EACdS,EAAMG,YAAc,GACpBL,EAAK,oBAAqBP,QAC1BO,EAAK,SAAUP,GALSA,IAAAA,IAyEgF,CAAA+B,EAAA2B,EAAA,CAAAlE,KAClFmC,GAAC,SAzHwB,mBAAA6B,GAAA,oBAAAxC,OAAA2C,UAAAC,SAAAC,KAAAL,KAAAM,EAAAN,GA2HvCL,EAAA,CAAAL,QAAAA,IAAA,CAAAK,UA3HuC,IAAAK,MAoIzCO,EAAUvD,EAAQ,CACxBK,SAAUJ,EAAMI,UAElB"}
@@ -1,2 +1,2 @@
1
- import{defineComponent as e,reactive as r,computed as a,createVNode as l,mergeProps as o}from"vue";import{imageProps as s,ElImage as t,ElIcon as i}from"element-plus";import{Picture as c}from"@element-plus/icons-vue";import{useProps as n,useRender as p,makeSlots as m}from"@fast-china/utils";const u={...s,hideOnClickModal:{type:Boolean,default:!0},previewTeleported:{type:Boolean,default:!0},lazy:{type:Boolean,default:!0},base64:Boolean,original:Boolean,normal:Boolean,small:Boolean,thumb:Boolean,preview:{type:Boolean,default:!0}},d=/* @__PURE__ */e({name:"FaImage",props:u,slots:m(),setup(e,{attrs:m,slots:u,expose:d}){const f=r({src:a(()=>{if(e.src)return e.base64?`data:image/png;base64,${e.src}`:e.original?e.src:e.normal?`${e.src}@!normal`:e.small?`${e.src}@!small`:(e.thumb,`${e.src}@!thumb`)}),previewList:a(()=>e.preview?[e.base64?`data:image/png;base64,${e.src}`:e.src]:[])}),v=n(e,s,["src","previewSrcList"]);p(()=>l(t,o(v.value,{class:"fa-image",src:f.src,previewSrcList:f.previewList}),{error:()=>u.error?u.error():l("div",{class:"fa-image__error-image"},[l(i,{class:"icon"},{default:()=>[l(c,null,null)]})]),...u.placeholder&&{placeholder:()=>u.placeholder()},...u.viewer&&{viewer:()=>u.viewer({src:f.src})}}))}});export{d as default,u as faImageProps};
1
+ import{defineComponent as e,reactive as r,computed as a,createVNode as l,mergeProps as o}from"vue";import{imageProps as s,ElImage as t,ElIcon as i}from"element-plus";import{Picture as c}from"@element-plus/icons-vue";import{useProps as n,useRender as p,makeSlots as m}from"@fast-china/utils";const u={...s,hideOnClickModal:{type:Boolean,default:!0},previewTeleported:{type:Boolean,default:!0},lazy:{type:Boolean,default:!0},base64:Boolean,original:Boolean,normal:Boolean,small:Boolean,thumb:Boolean,preview:{type:Boolean,default:!0}},d=/* @__PURE__ */e({name:"FaImage",props:u,slots:m(),setup(e,{attrs:m,slots:u,emit:d,expose:f}){const v=r({src:a(()=>{if(e.src)return e.base64?`data:image/png;base64,${e.src}`:e.original?e.src:e.normal?`${e.src}@!normal`:e.small?`${e.src}@!small`:(e.thumb,`${e.src}@!thumb`)}),previewList:a(()=>e.preview?[e.base64?`data:image/png;base64,${e.src}`:e.src]:[])}),g=n(e,s,["src","previewSrcList"]);p(()=>l(t,o(g.value,{class:"fa-image",src:v.src,previewSrcList:v.previewList}),{error:()=>u.error?u.error():l("div",{class:"fa-image__error-image"},[l(i,{class:"icon"},{default:()=>[l(c,null,null)]})]),...u.placeholder&&{placeholder:()=>u.placeholder()},...u.viewer&&{viewer:()=>u.viewer({src:v.src})}}))}});export{d as default,u as faImageProps};
2
2
  //# sourceMappingURL=image.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"image.mjs","sources":["../../../../../packages/components/image/src/image.tsx"],"sourcesContent":["import { computed, defineComponent, reactive } from \"vue\";\nimport { ElIcon, ElImage, imageProps } from \"element-plus\";\nimport { Picture as ElIconPicture } from \"@element-plus/icons-vue\";\nimport { makeSlots, useProps, useRender } from \"@fast-china/utils\";\nimport type { VNode } from \"vue\";\n\nexport const faImageProps = {\n\t...imageProps,\n\t/** @description when enabling preview, use this flag to control whether clicking on backdrop can exit preview mode. */\n\thideOnClickModal: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description whether to append image-viewer to body. A nested parent element attribute transform should have this attribute set to `true`. */\n\tpreviewTeleported: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description whether to use lazy load. */\n\tlazy: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description Base64图片 */\n\tbase64: Boolean,\n\t/** @description 原图 */\n\toriginal: Boolean,\n\t/** @description 标准 */\n\tnormal: Boolean,\n\t/** @description 小图 */\n\tsmall: Boolean,\n\t/** @description 缩略图 */\n\tthumb: Boolean,\n\t/** @description 是否可以预览图片 */\n\tpreview: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n};\n\ntype FaImageSlots = {\n\t/** @description 当图像尚未加载时,自定义的占位符内容 */\n\tplaceholder: never;\n\t/** @description 自定义图像加载失败的内容 */\n\terror: never;\n\t/** @description 当图像预览时自定义内容 */\n\tviewer: { src: string };\n};\n\nexport default defineComponent({\n\tname: \"FaImage\",\n\tprops: faImageProps,\n\tslots: makeSlots<FaImageSlots>(),\n\tsetup(props, { attrs, slots, expose }) {\n\t\tconst state = reactive({\n\t\t\tsrc: computed(() => {\n\t\t\t\tif (!props.src) return undefined;\n\t\t\t\tif (props.base64) {\n\t\t\t\t\treturn `data:image/png;base64,${props.src}`;\n\t\t\t\t} else if (props.original) {\n\t\t\t\t\treturn props.src;\n\t\t\t\t} else if (props.normal) {\n\t\t\t\t\treturn `${props.src}@!normal`;\n\t\t\t\t} else if (props.small) {\n\t\t\t\t\treturn `${props.src}@!small`;\n\t\t\t\t} else if (props.thumb) {\n\t\t\t\t\treturn `${props.src}@!thumb`;\n\t\t\t\t} else {\n\t\t\t\t\t// 默认使用缩略图\n\t\t\t\t\treturn `${props.src}@!thumb`;\n\t\t\t\t}\n\t\t\t}),\n\t\t\tpreviewList: computed(() => (props.preview ? [props.base64 ? `data:image/png;base64,${props.src}` : props.src] : [])),\n\t\t});\n\n\t\tconst bindProps = useProps(props, imageProps, [\"src\", \"previewSrcList\"]);\n\n\t\tuseRender(() => (\n\t\t\t<ElImage {...bindProps.value} class=\"fa-image\" src={state.src} previewSrcList={state.previewList}>\n\t\t\t\t{{\n\t\t\t\t\terror: () =>\n\t\t\t\t\t\tslots.error ? (\n\t\t\t\t\t\t\tslots.error()\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<div class=\"fa-image__error-image\">\n\t\t\t\t\t\t\t\t<ElIcon class=\"icon\">\n\t\t\t\t\t\t\t\t\t<ElIconPicture />\n\t\t\t\t\t\t\t\t</ElIcon>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t),\n\t\t\t\t\t...(slots.placeholder && { placeholder: (): VNode[] => slots.placeholder() }),\n\t\t\t\t\t...(slots.viewer && { viewer: (): VNode[] => slots.viewer({ src: state.src }) }),\n\t\t\t\t}}\n\t\t\t</ElImage>\n\t\t));\n\t},\n});\n"],"names":["faImageProps","imageProps","hideOnClickModal","type","Boolean","default","previewTeleported","lazy","base64","original","normal","small","thumb","preview","Image","name","props","slots","makeSlots","setup","attrs","expose","state","reactive","src","computed","previewList","bindProps","useProps","useRender","_createVNode","ElImage","_mergeProps","value","class","previewSrcList","error","ElIcon","ElIconPicture","placeholder","viewer"],"mappings":"mSAMO,MAAMA,EAAe,IACxBC,EAEHC,iBAAkB,CACjBC,KAAMC,QACNC,SAAS,GAGVC,kBAAmB,CAClBH,KAAMC,QACNC,SAAS,GAGVE,KAAM,CACLJ,KAAMC,QACNC,SAAS,GAGVG,OAAQJ,QAERK,SAAUL,QAEVM,OAAQN,QAERO,MAAOP,QAEPQ,MAAOR,QAEPS,QAAS,CACRV,KAAMC,QACNC,SAAS,IAaXS,mBAA+B,CAC9BC,KAAM,UACNC,MAAOhB,EACPiB,MAAOC,IACPC,KAAAA,CAAMH,GAAOI,MAAEA,EAAAA,MAAOH,EAAAA,OAAOI,IAC5B,MAAMC,EAAQC,EAAS,CACtBC,IAAKC,EAAS,KACb,GAAKT,EAAMQ,IACX,OAAIR,EAAMR,OACF,yBAAyBQ,EAAMQ,MAC5BR,EAAMP,SACTO,EAAMQ,IACHR,EAAMN,OACT,GAAGM,EAAMQ,cACNR,EAAML,MACT,GAAGK,EAAMQ,cACNR,EAAMJ,MACT,GAAGI,EAAMQ,gBAMlBE,YAAaD,EAAS,IAAOT,EAAMH,QAAU,CAACG,EAAMR,OAAS,yBAAyBQ,EAAMQ,MAAQR,EAAMQ,KAAO,MAG5GG,EAAYC,EAASZ,EAAOf,EAAY,CAAC,MAAO,mBAEtD4B,EAAU,IAAAC,EAAAC,EAAAC,EACIL,EAAUM,MAAK,CAAAC,MAAA,WAAAV,IAAwBF,EAAME,IAAGW,eAAkBb,EAAMI,cAAW,CAE9FU,MAAOA,IACNnB,EAAMmB,MACLnB,EAAMmB,QAAON,EAAA,MAAA,CAAAI,MAAA,yBAAA,CAAAJ,EAAAO,EAAA,CAAAH,MAAA,QAAA,CAAA7B,QAAAA,IAAA,CAAAyB,EAAAQ,EAAA,KAAA,cAQXrB,EAAMsB,aAAe,CAAEA,YAAaA,IAAetB,EAAMsB,kBACzDtB,EAAMuB,QAAU,CAAEA,OAAQA,IAAevB,EAAMuB,OAAO,CAAEhB,IAAKF,EAAME,SAI3E"}
1
+ {"version":3,"file":"image.mjs","sources":["../../../../../packages/components/image/src/image.tsx"],"sourcesContent":["import { computed, defineComponent, reactive } from \"vue\";\nimport { ElIcon, ElImage, imageProps } from \"element-plus\";\nimport { Picture as ElIconPicture } from \"@element-plus/icons-vue\";\nimport { makeSlots, useProps, useRender } from \"@fast-china/utils\";\nimport type { VNode } from \"vue\";\n\nexport const faImageProps = {\n\t...imageProps,\n\t/** @description when enabling preview, use this flag to control whether clicking on backdrop can exit preview mode. */\n\thideOnClickModal: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description whether to append image-viewer to body. A nested parent element attribute transform should have this attribute set to `true`. */\n\tpreviewTeleported: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description whether to use lazy load. */\n\tlazy: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n\t/** @description Base64图片 */\n\tbase64: Boolean,\n\t/** @description 原图 */\n\toriginal: Boolean,\n\t/** @description 标准 */\n\tnormal: Boolean,\n\t/** @description 小图 */\n\tsmall: Boolean,\n\t/** @description 缩略图 */\n\tthumb: Boolean,\n\t/** @description 是否可以预览图片 */\n\tpreview: {\n\t\ttype: Boolean,\n\t\tdefault: true,\n\t},\n};\n\ntype FaImageSlots = {\n\t/** @description 当图像尚未加载时,自定义的占位符内容 */\n\tplaceholder: never;\n\t/** @description 自定义图像加载失败的内容 */\n\terror: never;\n\t/** @description 当图像预览时自定义内容 */\n\tviewer: { src: string };\n};\n\nexport default defineComponent({\n\tname: \"FaImage\",\n\tprops: faImageProps,\n\tslots: makeSlots<FaImageSlots>(),\n\tsetup(props, { attrs, slots, emit, expose }) {\n\t\tconst state = reactive({\n\t\t\tsrc: computed(() => {\n\t\t\t\tif (!props.src) return undefined;\n\t\t\t\tif (props.base64) {\n\t\t\t\t\treturn `data:image/png;base64,${props.src}`;\n\t\t\t\t} else if (props.original) {\n\t\t\t\t\treturn props.src;\n\t\t\t\t} else if (props.normal) {\n\t\t\t\t\treturn `${props.src}@!normal`;\n\t\t\t\t} else if (props.small) {\n\t\t\t\t\treturn `${props.src}@!small`;\n\t\t\t\t} else if (props.thumb) {\n\t\t\t\t\treturn `${props.src}@!thumb`;\n\t\t\t\t} else {\n\t\t\t\t\t// 默认使用缩略图\n\t\t\t\t\treturn `${props.src}@!thumb`;\n\t\t\t\t}\n\t\t\t}),\n\t\t\tpreviewList: computed(() => (props.preview ? [props.base64 ? `data:image/png;base64,${props.src}` : props.src] : [])),\n\t\t});\n\n\t\tconst bindProps = useProps(props, imageProps, [\"src\", \"previewSrcList\"]);\n\n\t\tuseRender(() => (\n\t\t\t<ElImage {...bindProps.value} class=\"fa-image\" src={state.src} previewSrcList={state.previewList}>\n\t\t\t\t{{\n\t\t\t\t\terror: () =>\n\t\t\t\t\t\tslots.error ? (\n\t\t\t\t\t\t\tslots.error()\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<div class=\"fa-image__error-image\">\n\t\t\t\t\t\t\t\t<ElIcon class=\"icon\">\n\t\t\t\t\t\t\t\t\t<ElIconPicture />\n\t\t\t\t\t\t\t\t</ElIcon>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t),\n\t\t\t\t\t...(slots.placeholder && { placeholder: (): VNode[] => slots.placeholder() }),\n\t\t\t\t\t...(slots.viewer && { viewer: (): VNode[] => slots.viewer({ src: state.src }) }),\n\t\t\t\t}}\n\t\t\t</ElImage>\n\t\t));\n\t},\n});\n"],"names":["faImageProps","imageProps","hideOnClickModal","type","Boolean","default","previewTeleported","lazy","base64","original","normal","small","thumb","preview","Image","name","props","slots","makeSlots","setup","attrs","emit","expose","state","reactive","src","computed","previewList","bindProps","useProps","useRender","_createVNode","ElImage","_mergeProps","value","class","previewSrcList","error","ElIcon","ElIconPicture","placeholder","viewer"],"mappings":"mSAMO,MAAMA,EAAe,IACxBC,EAEHC,iBAAkB,CACjBC,KAAMC,QACNC,SAAS,GAGVC,kBAAmB,CAClBH,KAAMC,QACNC,SAAS,GAGVE,KAAM,CACLJ,KAAMC,QACNC,SAAS,GAGVG,OAAQJ,QAERK,SAAUL,QAEVM,OAAQN,QAERO,MAAOP,QAEPQ,MAAOR,QAEPS,QAAS,CACRV,KAAMC,QACNC,SAAS,IAaXS,mBAA+B,CAC9BC,KAAM,UACNC,MAAOhB,EACPiB,MAAOC,IACPC,KAAAA,CAAMH,GAAOI,MAAEA,EAAAA,MAAOH,EAAAA,KAAOI,EAAAA,OAAMC,IAClC,MAAMC,EAAQC,EAAS,CACtBC,IAAKC,EAAS,KACb,GAAKV,EAAMS,IACX,OAAIT,EAAMR,OACF,yBAAyBQ,EAAMS,MAC5BT,EAAMP,SACTO,EAAMS,IACHT,EAAMN,OACT,GAAGM,EAAMS,cACNT,EAAML,MACT,GAAGK,EAAMS,cACNT,EAAMJ,MACT,GAAGI,EAAMS,gBAMlBE,YAAaD,EAAS,IAAOV,EAAMH,QAAU,CAACG,EAAMR,OAAS,yBAAyBQ,EAAMS,MAAQT,EAAMS,KAAO,MAG5GG,EAAYC,EAASb,EAAOf,EAAY,CAAC,MAAO,mBAEtD6B,EAAU,IAAAC,EAAAC,EAAAC,EACIL,EAAUM,MAAK,CAAAC,MAAA,WAAAV,IAAwBF,EAAME,IAAGW,eAAkBb,EAAMI,cAAW,CAE9FU,MAAOA,IACNpB,EAAMoB,MACLpB,EAAMoB,QAAON,EAAA,MAAA,CAAAI,MAAA,yBAAA,CAAAJ,EAAAO,EAAA,CAAAH,MAAA,QAAA,CAAA9B,QAAAA,IAAA,CAAA0B,EAAAQ,EAAA,KAAA,cAQXtB,EAAMuB,aAAe,CAAEA,YAAaA,IAAevB,EAAMuB,kBACzDvB,EAAMwB,QAAU,CAAEA,OAAQA,IAAexB,EAAMwB,OAAO,CAAEhB,IAAKF,EAAME,SAI3E"}
@@ -9,6 +9,7 @@ export * from './formItemTip';
9
9
  export * from './icon';
10
10
  export * from './iconSelector';
11
11
  export * from './image';
12
+ export * from './inputDialogPage';
12
13
  export * from './layoutGrid';
13
14
  export * from './select';
14
15
  export * from './selectPage';