@regenbio/regenbio-components-react 1.2.15 → 1.2.16

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 (901) hide show
  1. package/.codecov.yml +6 -0
  2. package/.dumi/app.tsx +1 -0
  3. package/.dumi/tsconfig.json +4 -0
  4. package/.dumirc.ts +426 -0
  5. package/.eslintignore +12 -0
  6. package/.eslintrc.js +6 -0
  7. package/.fatherrc.base.ts +23 -0
  8. package/.github/ISSUE_TEMPLATE/bug_report.md +49 -0
  9. package/.github/ISSUE_TEMPLATE/feature_request.md +41 -0
  10. package/.github/ISSUE_TEMPLATE/question.md +29 -0
  11. package/.github/dependabot.yml +11 -0
  12. package/.github/workflows/build.yml +27 -0
  13. package/.github/workflows/codeql.yml +41 -0
  14. package/.github/workflows/coverage.yml +31 -0
  15. package/.github/workflows/issue-labeled.yml +37 -0
  16. package/.github/workflows/issue-open-check.yml +34 -0
  17. package/.github/workflows/pkg.pr.new.yml +37 -0
  18. package/.github/workflows/preview-build.yml +46 -0
  19. package/.github/workflows/preview-deploy.yml +92 -0
  20. package/.github/workflows/preview-start.yml +18 -0
  21. package/.github/workflows/rebase.yml +17 -0
  22. package/.prettierignore +9 -0
  23. package/.prettierrc.js +7 -0
  24. package/CONTRIBUTING.md +77 -0
  25. package/LICENSE.md +7 -0
  26. package/README.es-PR.md +199 -0
  27. package/README.md +203 -0
  28. package/README.zh-CN.md +203 -0
  29. package/docs/changelog.en-US.md +1115 -0
  30. package/docs/changelog.md +1136 -0
  31. package/docs/components/customization-value-type.tsx +222 -0
  32. package/docs/components/schema.$tab-api.md +8 -0
  33. package/docs/components/schema.en-US.md +477 -0
  34. package/docs/components/schema.md +477 -0
  35. package/docs/components/valueEnum-map.tsx +45 -0
  36. package/docs/components/valueType.tsx +299 -0
  37. package/docs/components.en-US.md +183 -0
  38. package/docs/components.md +78 -0
  39. package/docs/docs/faq.en-US.md +75 -0
  40. package/docs/docs/faq.md +75 -0
  41. package/docs/docs/index.en-US.md +53 -0
  42. package/docs/docs/index.md +56 -0
  43. package/docs/docs/intro.en-US.md +125 -0
  44. package/docs/docs/intro.md +126 -0
  45. package/docs/index.en-US.md +87 -0
  46. package/docs/index.md +56 -0
  47. package/docs/playground/index.en-US.md +14 -0
  48. package/docs/playground/index.md +14 -0
  49. package/docs/playground/pro-descriptions.en-US.md +10 -0
  50. package/docs/playground/pro-descriptions.md +10 -0
  51. package/docs/playground/pro-form.en-US.md +18 -0
  52. package/docs/playground/pro-form.md +19 -0
  53. package/docs/playground/pro-layout.en-US.md +16 -0
  54. package/docs/playground/pro-layout.md +17 -0
  55. package/docs/playground/pro-table.en-US.md +11 -0
  56. package/docs/playground/pro-table.md +11 -0
  57. package/lerna.json +21 -0
  58. package/package.json +164 -36
  59. package/packages/card/.fatherrc.ts +5 -0
  60. package/packages/card/CHANGELOG.md +1489 -0
  61. package/packages/card/README.md +19 -0
  62. package/packages/card/package.json +61 -0
  63. package/packages/card/src/ProCard.tsx +29 -0
  64. package/packages/card/src/components/Actions/index.tsx +40 -0
  65. package/packages/card/src/components/Actions/style.ts +102 -0
  66. package/packages/card/src/components/Card/index.tsx +293 -0
  67. package/packages/card/src/components/Card/style.ts +314 -0
  68. package/packages/card/src/components/CheckCard/Group.tsx +474 -0
  69. package/packages/card/src/components/CheckCard/demos/avatar.tsx +16 -0
  70. package/packages/card/src/components/CheckCard/demos/basic.tsx +18 -0
  71. package/packages/card/src/components/CheckCard/demos/compose.tsx +28 -0
  72. package/packages/card/src/components/CheckCard/demos/custom.tsx +9 -0
  73. package/packages/card/src/components/CheckCard/demos/defaultChecked.tsx +12 -0
  74. package/packages/card/src/components/CheckCard/demos/description.tsx +35 -0
  75. package/packages/card/src/components/CheckCard/demos/disabled.tsx +34 -0
  76. package/packages/card/src/components/CheckCard/demos/extra.tsx +41 -0
  77. package/packages/card/src/components/CheckCard/demos/form.tsx +58 -0
  78. package/packages/card/src/components/CheckCard/demos/grid.tsx +30 -0
  79. package/packages/card/src/components/CheckCard/demos/group.tsx +56 -0
  80. package/packages/card/src/components/CheckCard/demos/image.tsx +20 -0
  81. package/packages/card/src/components/CheckCard/demos/list.tsx +83 -0
  82. package/packages/card/src/components/CheckCard/demos/loading.tsx +3 -0
  83. package/packages/card/src/components/CheckCard/demos/multiple.tsx +51 -0
  84. package/packages/card/src/components/CheckCard/demos/single.tsx +23 -0
  85. package/packages/card/src/components/CheckCard/demos/size.tsx +23 -0
  86. package/packages/card/src/components/CheckCard/demos/title.tsx +22 -0
  87. package/packages/card/src/components/CheckCard/index.en-US.md +154 -0
  88. package/packages/card/src/components/CheckCard/index.md +154 -0
  89. package/packages/card/src/components/CheckCard/index.tsx +379 -0
  90. package/packages/card/src/components/CheckCard/style.ts +216 -0
  91. package/packages/card/src/components/Divider/index.tsx +42 -0
  92. package/packages/card/src/components/Divider/style.ts +48 -0
  93. package/packages/card/src/components/Loading/index.tsx +64 -0
  94. package/packages/card/src/components/Loading/style.ts +55 -0
  95. package/packages/card/src/components/Operation/index.tsx +38 -0
  96. package/packages/card/src/components/Operation/style.ts +33 -0
  97. package/packages/card/src/components/Statistic/index.tsx +129 -0
  98. package/packages/card/src/components/Statistic/style.ts +110 -0
  99. package/packages/card/src/components/StatisticCard/demos/basic.tsx +40 -0
  100. package/packages/card/src/components/StatisticCard/demos/chart.tsx +20 -0
  101. package/packages/card/src/components/StatisticCard/demos/fomula.tsx +37 -0
  102. package/packages/card/src/components/StatisticCard/demos/footer.tsx +42 -0
  103. package/packages/card/src/components/StatisticCard/demos/group-chart.tsx +65 -0
  104. package/packages/card/src/components/StatisticCard/demos/group.tsx +57 -0
  105. package/packages/card/src/components/StatisticCard/demos/horizontal-left.tsx +31 -0
  106. package/packages/card/src/components/StatisticCard/demos/horizontal.tsx +31 -0
  107. package/packages/card/src/components/StatisticCard/demos/icon.tsx +77 -0
  108. package/packages/card/src/components/StatisticCard/demos/layout.tsx +90 -0
  109. package/packages/card/src/components/StatisticCard/demos/status.tsx +46 -0
  110. package/packages/card/src/components/StatisticCard/demos/tabs-statistic.tsx +55 -0
  111. package/packages/card/src/components/StatisticCard/demos/tabs.tsx +55 -0
  112. package/packages/card/src/components/StatisticCard/demos/total-layout.tsx +136 -0
  113. package/packages/card/src/components/StatisticCard/demos/total.tsx +58 -0
  114. package/packages/card/src/components/StatisticCard/demos/trend.tsx +15 -0
  115. package/packages/card/src/components/StatisticCard/index.en-US.md +152 -0
  116. package/packages/card/src/components/StatisticCard/index.md +152 -0
  117. package/packages/card/src/components/StatisticCard/index.tsx +107 -0
  118. package/packages/card/src/components/StatisticCard/style.ts +48 -0
  119. package/packages/card/src/components/TabPane/index.tsx +94 -0
  120. package/packages/card/src/components/card.en-US.md +219 -0
  121. package/packages/card/src/components/card.md +212 -0
  122. package/packages/card/src/demos/actions.tsx +59 -0
  123. package/packages/card/src/demos/basic.tsx +54 -0
  124. package/packages/card/src/demos/bordered.tsx +15 -0
  125. package/packages/card/src/demos/collapsible.tsx +110 -0
  126. package/packages/card/src/demos/colspan.tsx +80 -0
  127. package/packages/card/src/demos/divider.tsx +36 -0
  128. package/packages/card/src/demos/group.tsx +19 -0
  129. package/packages/card/src/demos/gutter.tsx +29 -0
  130. package/packages/card/src/demos/headerBordered.tsx +15 -0
  131. package/packages/card/src/demos/headless.tsx +5 -0
  132. package/packages/card/src/demos/hoverable.tsx +11 -0
  133. package/packages/card/src/demos/inner.tsx +32 -0
  134. package/packages/card/src/demos/layout.tsx +18 -0
  135. package/packages/card/src/demos/loading.tsx +28 -0
  136. package/packages/card/src/demos/multipleLine.tsx +43 -0
  137. package/packages/card/src/demos/responsive.tsx +72 -0
  138. package/packages/card/src/demos/split.tsx +46 -0
  139. package/packages/card/src/demos/split2.tsx +30 -0
  140. package/packages/card/src/demos/split23.tsx +14 -0
  141. package/packages/card/src/demos/steps-v.tsx +59 -0
  142. package/packages/card/src/demos/tabs-card.tsx +18 -0
  143. package/packages/card/src/demos/tabs.tsx +56 -0
  144. package/packages/card/src/index.tsx +30 -0
  145. package/packages/card/src/typing.ts +100 -0
  146. package/packages/card/tsconfig.json +21 -0
  147. package/packages/components/.fatherrc.ts +15 -0
  148. package/packages/components/CHANGELOG.md +841 -0
  149. package/packages/components/README.md +19 -0
  150. package/packages/components/package.json +62 -0
  151. package/packages/components/src/index.tsx +12 -0
  152. package/packages/components/tsconfig.json +32 -0
  153. package/packages/descriptions/.fatherrc.ts +5 -0
  154. package/packages/descriptions/CHANGELOG.md +1740 -0
  155. package/packages/descriptions/README.md +53 -0
  156. package/packages/descriptions/package.json +60 -0
  157. package/packages/descriptions/src/components/descriptions.en-US.md +168 -0
  158. package/packages/descriptions/src/components/descriptions.md +173 -0
  159. package/packages/descriptions/src/demos/arrayDataIndex.tsx +66 -0
  160. package/packages/descriptions/src/demos/base.demo-test.tsx +36 -0
  161. package/packages/descriptions/src/demos/base.tsx +115 -0
  162. package/packages/descriptions/src/demos/columns.tsx +127 -0
  163. package/packages/descriptions/src/demos/customization-value-type.tsx +166 -0
  164. package/packages/descriptions/src/demos/dynamic-descriptions.tsx +319 -0
  165. package/packages/descriptions/src/demos/editable.tsx +138 -0
  166. package/packages/descriptions/src/demos/format.tsx +62 -0
  167. package/packages/descriptions/src/demos/request.tsx +37 -0
  168. package/packages/descriptions/src/demos/use-data-source.tsx +78 -0
  169. package/packages/descriptions/src/index.tsx +676 -0
  170. package/packages/descriptions/src/useFetchData.tsx +93 -0
  171. package/packages/descriptions/tsconfig.json +26 -0
  172. package/packages/field/.fatherrc.ts +5 -0
  173. package/packages/field/CHANGELOG.md +2017 -0
  174. package/packages/field/README.md +17 -0
  175. package/packages/field/package.json +56 -0
  176. package/packages/field/src/FieldHOC/index.tsx +55 -0
  177. package/packages/field/src/components/Cascader/index.tsx +167 -0
  178. package/packages/field/src/components/Checkbox/index.tsx +149 -0
  179. package/packages/field/src/components/Code/index.tsx +78 -0
  180. package/packages/field/src/components/ColorPicker/index.tsx +117 -0
  181. package/packages/field/src/components/ColorPicker/old.tsx +121 -0
  182. package/packages/field/src/components/DatePicker/index.tsx +143 -0
  183. package/packages/field/src/components/Digit/index.tsx +93 -0
  184. package/packages/field/src/components/DigitRange/index.tsx +150 -0
  185. package/packages/field/src/components/FromNow/index.tsx +67 -0
  186. package/packages/field/src/components/Image/index.tsx +61 -0
  187. package/packages/field/src/components/IndexColumn/index.tsx +54 -0
  188. package/packages/field/src/components/Money/index.tsx +454 -0
  189. package/packages/field/src/components/Options/index.tsx +89 -0
  190. package/packages/field/src/components/Password/index.tsx +71 -0
  191. package/packages/field/src/components/Percent/index.tsx +109 -0
  192. package/packages/field/src/components/Percent/util.ts +26 -0
  193. package/packages/field/src/components/Progress/index.tsx +81 -0
  194. package/packages/field/src/components/Radio/index.tsx +128 -0
  195. package/packages/field/src/components/RangePicker/index.tsx +166 -0
  196. package/packages/field/src/components/Rate/index.tsx +36 -0
  197. package/packages/field/src/components/Second/index.tsx +88 -0
  198. package/packages/field/src/components/Segmented/index.tsx +93 -0
  199. package/packages/field/src/components/Select/LightSelect/index.tsx +286 -0
  200. package/packages/field/src/components/Select/SearchSelect/index.tsx +334 -0
  201. package/packages/field/src/components/Select/index.tsx +562 -0
  202. package/packages/field/src/components/Slider/index.tsx +42 -0
  203. package/packages/field/src/components/Status/index.tsx +47 -0
  204. package/packages/field/src/components/Switch/index.tsx +77 -0
  205. package/packages/field/src/components/Text/index.tsx +68 -0
  206. package/packages/field/src/components/TextArea/index.tsx +53 -0
  207. package/packages/field/src/components/TextArea/readonly.tsx +46 -0
  208. package/packages/field/src/components/TimePicker/index.tsx +261 -0
  209. package/packages/field/src/components/TreeSelect/index.tsx +258 -0
  210. package/packages/field/src/components/field.md +42 -0
  211. package/packages/field/src/demos/base.tsx +431 -0
  212. package/packages/field/src/demos/base_test.tsx +509 -0
  213. package/packages/field/src/demos/search-value-autoClearSearchValue.tsx +41 -0
  214. package/packages/field/src/demos/search-value.tsx +96 -0
  215. package/packages/field/src/demos/select-request.tsx +30 -0
  216. package/packages/field/src/demos/tree-select-search-value.tsx +151 -0
  217. package/packages/field/src/index.tsx +678 -0
  218. package/packages/field/tsconfig.json +22 -0
  219. package/packages/form/.fatherrc.ts +5 -0
  220. package/packages/form/CHANGELOG.md +2781 -0
  221. package/packages/form/README.md +15 -0
  222. package/packages/form/package.json +70 -0
  223. package/packages/form/src/BaseForm/BaseForm.tsx +839 -0
  224. package/packages/form/src/BaseForm/EditOrReadOnlyContext.ts +7 -0
  225. package/packages/form/src/BaseForm/LightWrapper/index.tsx +159 -0
  226. package/packages/form/src/BaseForm/LightWrapper/style.ts +31 -0
  227. package/packages/form/src/BaseForm/createField.tsx +384 -0
  228. package/packages/form/src/BaseForm/index.ts +3 -0
  229. package/packages/form/src/FieldContext.tsx +39 -0
  230. package/packages/form/src/components/Captcha/index.tsx +156 -0
  231. package/packages/form/src/components/Cascader/index.tsx +36 -0
  232. package/packages/form/src/components/Checkbox/index.tsx +90 -0
  233. package/packages/form/src/components/ColorPicker/index.tsx +47 -0
  234. package/packages/form/src/components/DateMonthRangePicker/index.tsx +38 -0
  235. package/packages/form/src/components/DatePicker/DatePicker.tsx +35 -0
  236. package/packages/form/src/components/DatePicker/MonthPicker.tsx +35 -0
  237. package/packages/form/src/components/DatePicker/QuarterPicker.tsx +35 -0
  238. package/packages/form/src/components/DatePicker/WeekPicker.tsx +35 -0
  239. package/packages/form/src/components/DatePicker/YearPicker.tsx +35 -0
  240. package/packages/form/src/components/DatePicker/index.tsx +22 -0
  241. package/packages/form/src/components/DateQuarterRangePicker/index.tsx +39 -0
  242. package/packages/form/src/components/DateRangePicker/index.tsx +39 -0
  243. package/packages/form/src/components/DateTimePicker/index.tsx +36 -0
  244. package/packages/form/src/components/DateTimeRangePicker/index.tsx +39 -0
  245. package/packages/form/src/components/DateWeekRangePicker/index.tsx +38 -0
  246. package/packages/form/src/components/DateYearRangePicker/index.tsx +38 -0
  247. package/packages/form/src/components/Dependency/demos/dependency.tsx +112 -0
  248. package/packages/form/src/components/Dependency/demos/dependency2.tsx +106 -0
  249. package/packages/form/src/components/Dependency/index.en-US.md +54 -0
  250. package/packages/form/src/components/Dependency/index.md +52 -0
  251. package/packages/form/src/components/Dependency/index.tsx +111 -0
  252. package/packages/form/src/components/Digit/index.tsx +43 -0
  253. package/packages/form/src/components/DigitRange/index.tsx +51 -0
  254. package/packages/form/src/components/Field/index.tsx +144 -0
  255. package/packages/form/src/components/FieldSet/demos/captCha.tsx +67 -0
  256. package/packages/form/src/components/FieldSet/demos/components-other-readonly.tsx +465 -0
  257. package/packages/form/src/components/FieldSet/demos/components-other.tsx +336 -0
  258. package/packages/form/src/components/FieldSet/demos/datatime.tsx +89 -0
  259. package/packages/form/src/components/FieldSet/demos/fieldSet-light.tsx +58 -0
  260. package/packages/form/src/components/FieldSet/demos/form-fieldset.tsx +106 -0
  261. package/packages/form/src/components/FieldSet/demos/pro-form-captCha.tsx +70 -0
  262. package/packages/form/src/components/FieldSet/demos/search-select.tsx +90 -0
  263. package/packages/form/src/components/FieldSet/demos/upload.tsx +35 -0
  264. package/packages/form/src/components/FieldSet/index.en-US.md +529 -0
  265. package/packages/form/src/components/FieldSet/index.md +680 -0
  266. package/packages/form/src/components/FieldSet/index.tsx +151 -0
  267. package/packages/form/src/components/FormItem/index.tsx +445 -0
  268. package/packages/form/src/components/FormItemRender/index.tsx +219 -0
  269. package/packages/form/src/components/Group/demos/base-use.tsx +93 -0
  270. package/packages/form/src/components/Group/demos/countLimit.tsx +57 -0
  271. package/packages/form/src/components/Group/demos/customize.tsx +294 -0
  272. package/packages/form/src/components/Group/demos/dependency.tsx +70 -0
  273. package/packages/form/src/components/Group/demos/horizontal-layout.tsx +73 -0
  274. package/packages/form/src/components/Group/demos/list-tooltip.tsx +69 -0
  275. package/packages/form/src/components/Group/demos/list.tsx +127 -0
  276. package/packages/form/src/components/Group/demos/nested-list.tsx +66 -0
  277. package/packages/form/src/components/Group/demos/pro-form-list.tsx +126 -0
  278. package/packages/form/src/components/Group/index.en-US.md +326 -0
  279. package/packages/form/src/components/Group/index.md +373 -0
  280. package/packages/form/src/components/Group/index.tsx +182 -0
  281. package/packages/form/src/components/Group/style.ts +55 -0
  282. package/packages/form/src/components/List/ListContainer.tsx +187 -0
  283. package/packages/form/src/components/List/ListItem.tsx +569 -0
  284. package/packages/form/src/components/List/index.tsx +323 -0
  285. package/packages/form/src/components/List/style.ts +89 -0
  286. package/packages/form/src/components/LoginForm/demos/login-form-page.tsx +283 -0
  287. package/packages/form/src/components/LoginForm/demos/login-form.tsx +190 -0
  288. package/packages/form/src/components/LoginForm/index.en-US.md +45 -0
  289. package/packages/form/src/components/LoginForm/index.md +45 -0
  290. package/packages/form/src/components/ModalForm/demos/drawer-form-nested.tsx +265 -0
  291. package/packages/form/src/components/ModalForm/demos/drawer-form.tsx +129 -0
  292. package/packages/form/src/components/ModalForm/demos/modal-form-reset.tsx +112 -0
  293. package/packages/form/src/components/ModalForm/demos/modal-form-submitter.tsx +143 -0
  294. package/packages/form/src/components/ModalForm/demos/modal-form.tsx +112 -0
  295. package/packages/form/src/components/ModalForm/demos/visible-on-visible-change.tsx +187 -0
  296. package/packages/form/src/components/ModalForm/index.en-US.md +70 -0
  297. package/packages/form/src/components/ModalForm/index.md +68 -0
  298. package/packages/form/src/components/Money/index.tsx +47 -0
  299. package/packages/form/src/components/QueryFilter/demos/light-filter-bordered.tsx +149 -0
  300. package/packages/form/src/components/QueryFilter/demos/light-filter-collapse.tsx +28 -0
  301. package/packages/form/src/components/QueryFilter/demos/light-filter-footer.tsx +88 -0
  302. package/packages/form/src/components/QueryFilter/demos/light-filter-placement.tsx +89 -0
  303. package/packages/form/src/components/QueryFilter/demos/light-filter-test.tsx +92 -0
  304. package/packages/form/src/components/QueryFilter/demos/light-filter.tsx +215 -0
  305. package/packages/form/src/components/QueryFilter/demos/query-filter-collapsed.tsx +18 -0
  306. package/packages/form/src/components/QueryFilter/demos/query-filter-defaultColsNumber.tsx +18 -0
  307. package/packages/form/src/components/QueryFilter/demos/query-filter-test.tsx +158 -0
  308. package/packages/form/src/components/QueryFilter/demos/query-filter-vertical.tsx +44 -0
  309. package/packages/form/src/components/QueryFilter/demos/query-filter.tsx +31 -0
  310. package/packages/form/src/components/QueryFilter/demos/search-filter.tsx +126 -0
  311. package/packages/form/src/components/QueryFilter/index.en-US.md +93 -0
  312. package/packages/form/src/components/QueryFilter/index.md +90 -0
  313. package/packages/form/src/components/Radio/index.tsx +89 -0
  314. package/packages/form/src/components/Rate/index.tsx +28 -0
  315. package/packages/form/src/components/SchemaForm/demos/ModalAndDrawerForm.tsx +68 -0
  316. package/packages/form/src/components/SchemaForm/demos/customization-value-type.tsx +174 -0
  317. package/packages/form/src/components/SchemaForm/demos/dependencies.tsx +125 -0
  318. package/packages/form/src/components/SchemaForm/demos/dependency.tsx +90 -0
  319. package/packages/form/src/components/SchemaForm/demos/dynamic-rerender.tsx +127 -0
  320. package/packages/form/src/components/SchemaForm/demos/embed.tsx +121 -0
  321. package/packages/form/src/components/SchemaForm/demos/form-list-required.tsx +142 -0
  322. package/packages/form/src/components/SchemaForm/demos/schema.tsx +311 -0
  323. package/packages/form/src/components/SchemaForm/demos/steps-form.tsx +203 -0
  324. package/packages/form/src/components/SchemaForm/demos/valueType.tsx +150 -0
  325. package/packages/form/src/components/SchemaForm/index.en-US.md +92 -0
  326. package/packages/form/src/components/SchemaForm/index.md +84 -0
  327. package/packages/form/src/components/SchemaForm/index.tsx +241 -0
  328. package/packages/form/src/components/SchemaForm/layoutType/Embed.tsx +3 -0
  329. package/packages/form/src/components/SchemaForm/layoutType/StepsForm.tsx +54 -0
  330. package/packages/form/src/components/SchemaForm/layoutType/index.ts +2 -0
  331. package/packages/form/src/components/SchemaForm/typing.ts +171 -0
  332. package/packages/form/src/components/SchemaForm/valueType/dependency.tsx +34 -0
  333. package/packages/form/src/components/SchemaForm/valueType/divider.tsx +13 -0
  334. package/packages/form/src/components/SchemaForm/valueType/field.tsx +91 -0
  335. package/packages/form/src/components/SchemaForm/valueType/formList.tsx +27 -0
  336. package/packages/form/src/components/SchemaForm/valueType/formSet.tsx +27 -0
  337. package/packages/form/src/components/SchemaForm/valueType/group.tsx +22 -0
  338. package/packages/form/src/components/SchemaForm/valueType/ignore.tsx +13 -0
  339. package/packages/form/src/components/SchemaForm/valueType/index.tsx +46 -0
  340. package/packages/form/src/components/Segmented/index.tsx +36 -0
  341. package/packages/form/src/components/Select/index.tsx +173 -0
  342. package/packages/form/src/components/Slider/index.tsx +62 -0
  343. package/packages/form/src/components/StepsForm/demos/add-or-edit-step-form.tsx +90 -0
  344. package/packages/form/src/components/StepsForm/demos/customize-steps-from.tsx +176 -0
  345. package/packages/form/src/components/StepsForm/demos/modal-step-form.tsx +153 -0
  346. package/packages/form/src/components/StepsForm/demos/multi-card-step-form.tsx +201 -0
  347. package/packages/form/src/components/StepsForm/demos/steps-form-vertical.tsx +153 -0
  348. package/packages/form/src/components/StepsForm/demos/steps-from.tsx +157 -0
  349. package/packages/form/src/components/StepsForm/index.en-US.md +50 -0
  350. package/packages/form/src/components/StepsForm/index.md +56 -0
  351. package/packages/form/src/components/Submitter/index.tsx +144 -0
  352. package/packages/form/src/components/Switch/index.tsx +45 -0
  353. package/packages/form/src/components/Text/index.tsx +176 -0
  354. package/packages/form/src/components/TextArea/index.tsx +27 -0
  355. package/packages/form/src/components/TimePicker/index.tsx +72 -0
  356. package/packages/form/src/components/TreeSelect/index.tsx +49 -0
  357. package/packages/form/src/components/UploadButton/index.tsx +133 -0
  358. package/packages/form/src/components/UploadDragger/index.tsx +134 -0
  359. package/packages/form/src/components/form.en-US.md +320 -0
  360. package/packages/form/src/components/form.md +480 -0
  361. package/packages/form/src/components/index.ts +67 -0
  362. package/packages/form/src/demos/antd.modify.tsx +62 -0
  363. package/packages/form/src/demos/antd.nest.tsx +56 -0
  364. package/packages/form/src/demos/antd.tsx +103 -0
  365. package/packages/form/src/demos/base-test.tsx +256 -0
  366. package/packages/form/src/demos/base.tsx +334 -0
  367. package/packages/form/src/demos/components-test.tsx +64 -0
  368. package/packages/form/src/demos/config-provider.tsx +67 -0
  369. package/packages/form/src/demos/dependency.tsx +85 -0
  370. package/packages/form/src/demos/form-control-render.tsx +81 -0
  371. package/packages/form/src/demos/form-item-render.tsx +164 -0
  372. package/packages/form/src/demos/form-layout-grid.tsx +130 -0
  373. package/packages/form/src/demos/form-layout.tsx +97 -0
  374. package/packages/form/src/demos/formRef.tsx +98 -0
  375. package/packages/form/src/demos/label-col.tsx +48 -0
  376. package/packages/form/src/demos/labelInValue.tsx +34 -0
  377. package/packages/form/src/demos/layout-change.tsx +347 -0
  378. package/packages/form/src/demos/layout-footer.tsx +168 -0
  379. package/packages/form/src/demos/linkage-customization.tsx +179 -0
  380. package/packages/form/src/demos/modalform-test.tsx +121 -0
  381. package/packages/form/src/demos/money.tsx +139 -0
  382. package/packages/form/src/demos/params-formref.tsx +36 -0
  383. package/packages/form/src/demos/pro-form-dependency.debug.tsx +95 -0
  384. package/packages/form/src/demos/pro-form-editableTable.tsx +148 -0
  385. package/packages/form/src/demos/sync-to-url.tsx +68 -0
  386. package/packages/form/src/demos/typings.d.ts +5 -0
  387. package/packages/form/src/helpers/grid.tsx +96 -0
  388. package/packages/form/src/helpers/index.ts +1 -0
  389. package/packages/form/src/index.tsx +56 -0
  390. package/packages/form/src/layouts/DrawerForm/index.tsx +386 -0
  391. package/packages/form/src/layouts/DrawerForm/style.ts +42 -0
  392. package/packages/form/src/layouts/LightFilter/index.tsx +337 -0
  393. package/packages/form/src/layouts/LightFilter/style.ts +64 -0
  394. package/packages/form/src/layouts/LoginForm/index.tsx +153 -0
  395. package/packages/form/src/layouts/LoginForm/style.ts +89 -0
  396. package/packages/form/src/layouts/LoginFormPage/index.tsx +231 -0
  397. package/packages/form/src/layouts/LoginFormPage/style.ts +154 -0
  398. package/packages/form/src/layouts/ModalForm/index.tsx +296 -0
  399. package/packages/form/src/layouts/ProForm/index.tsx +44 -0
  400. package/packages/form/src/layouts/QueryFilter/Actions.tsx +104 -0
  401. package/packages/form/src/layouts/QueryFilter/index.tsx +624 -0
  402. package/packages/form/src/layouts/QueryFilter/style.ts +61 -0
  403. package/packages/form/src/layouts/StepsForm/StepForm.tsx +89 -0
  404. package/packages/form/src/layouts/StepsForm/index.tsx +569 -0
  405. package/packages/form/src/layouts/StepsForm/style.ts +43 -0
  406. package/packages/form/src/layouts/index.ts +19 -0
  407. package/packages/form/src/typing.ts +178 -0
  408. package/packages/form/tsconfig.json +24 -0
  409. package/packages/layout/.fatherrc.ts +5 -0
  410. package/packages/layout/CHANGELOG.md +2188 -0
  411. package/packages/layout/README.md +64 -0
  412. package/packages/layout/package.json +71 -0
  413. package/packages/layout/src/ProLayout.tsx +918 -0
  414. package/packages/layout/src/WrapContent.tsx +41 -0
  415. package/packages/layout/src/assert/Logo.tsx +80 -0
  416. package/packages/layout/src/components/AppsLogoComponents/AppsLogo.tsx +15 -0
  417. package/packages/layout/src/components/AppsLogoComponents/DefaultContent.tsx +64 -0
  418. package/packages/layout/src/components/AppsLogoComponents/SimpleContent.tsx +93 -0
  419. package/packages/layout/src/components/AppsLogoComponents/index.tsx +132 -0
  420. package/packages/layout/src/components/AppsLogoComponents/style/default.ts +78 -0
  421. package/packages/layout/src/components/AppsLogoComponents/style/index.ts +71 -0
  422. package/packages/layout/src/components/AppsLogoComponents/style/simple.ts +93 -0
  423. package/packages/layout/src/components/AppsLogoComponents/types.d.ts +10 -0
  424. package/packages/layout/src/components/CollapsedIcon/index.tsx +20 -0
  425. package/packages/layout/src/components/CollapsedIcon/style.ts +58 -0
  426. package/packages/layout/src/components/Footer.tsx +47 -0
  427. package/packages/layout/src/components/FooterToolbar/index.tsx +123 -0
  428. package/packages/layout/src/components/FooterToolbar/style/index.ts +56 -0
  429. package/packages/layout/src/components/FooterToolbar/style/stylish.ts +29 -0
  430. package/packages/layout/src/components/GlobalFooter/index.tsx +70 -0
  431. package/packages/layout/src/components/GlobalFooter/style.ts +46 -0
  432. package/packages/layout/src/components/GlobalHeader/ActionsContent.tsx +150 -0
  433. package/packages/layout/src/components/GlobalHeader/index.tsx +184 -0
  434. package/packages/layout/src/components/GlobalHeader/rightContentStyle.ts +74 -0
  435. package/packages/layout/src/components/GlobalHeader/style.ts +75 -0
  436. package/packages/layout/src/components/GridContent/index.tsx +54 -0
  437. package/packages/layout/src/components/GridContent/style.ts +29 -0
  438. package/packages/layout/src/components/Header/index.tsx +170 -0
  439. package/packages/layout/src/components/Header/style/header.ts +70 -0
  440. package/packages/layout/src/components/Header/style/stylish.ts +34 -0
  441. package/packages/layout/src/components/Help/AsyncContentPanel.tsx +62 -0
  442. package/packages/layout/src/components/Help/HelpProvide.tsx +187 -0
  443. package/packages/layout/src/components/Help/ProHelpContentPanel.tsx +162 -0
  444. package/packages/layout/src/components/Help/ProHelpDrawer.tsx +54 -0
  445. package/packages/layout/src/components/Help/ProHelpModal.tsx +51 -0
  446. package/packages/layout/src/components/Help/ProHelpPanel.tsx +310 -0
  447. package/packages/layout/src/components/Help/ProHelpPopover.tsx +78 -0
  448. package/packages/layout/src/components/Help/RenderContentPanel.tsx +156 -0
  449. package/packages/layout/src/components/Help/Search.tsx +172 -0
  450. package/packages/layout/src/components/Help/index.tsx +78 -0
  451. package/packages/layout/src/components/Help/style.ts +109 -0
  452. package/packages/layout/src/components/PageContainer/demos/basic.tsx +96 -0
  453. package/packages/layout/src/components/PageContainer/demos/fixHeader.tsx +59 -0
  454. package/packages/layout/src/components/PageContainer/demos/hideBreadMenu.tsx +38 -0
  455. package/packages/layout/src/components/PageContainer/demos/loading.tsx +144 -0
  456. package/packages/layout/src/components/PageContainer/demos/token.tsx +71 -0
  457. package/packages/layout/src/components/PageContainer/index.en-US.md +104 -0
  458. package/packages/layout/src/components/PageContainer/index.md +125 -0
  459. package/packages/layout/src/components/PageContainer/index.tsx +506 -0
  460. package/packages/layout/src/components/PageContainer/style/index.ts +137 -0
  461. package/packages/layout/src/components/PageContainer/style/stylish.ts +29 -0
  462. package/packages/layout/src/components/PageHeader/demo/actions.en-US.md +78 -0
  463. package/packages/layout/src/components/PageHeader/demo/actions.md +78 -0
  464. package/packages/layout/src/components/PageHeader/demo/basic.en-US.md +30 -0
  465. package/packages/layout/src/components/PageHeader/demo/basic.md +30 -0
  466. package/packages/layout/src/components/PageHeader/demo/breadcrumb.en-US.md +39 -0
  467. package/packages/layout/src/components/PageHeader/demo/breadcrumb.md +39 -0
  468. package/packages/layout/src/components/PageHeader/demo/content.en-US.md +206 -0
  469. package/packages/layout/src/components/PageHeader/demo/content.md +206 -0
  470. package/packages/layout/src/components/PageHeader/demo/ghost.en-US.md +52 -0
  471. package/packages/layout/src/components/PageHeader/demo/ghost.md +52 -0
  472. package/packages/layout/src/components/PageHeader/demo/responsive.en-US.md +114 -0
  473. package/packages/layout/src/components/PageHeader/demo/responsive.md +114 -0
  474. package/packages/layout/src/components/PageHeader/index.en-US.md +39 -0
  475. package/packages/layout/src/components/PageHeader/index.md +39 -0
  476. package/packages/layout/src/components/PageHeader/index.tsx +276 -0
  477. package/packages/layout/src/components/PageHeader/style/index.ts +180 -0
  478. package/packages/layout/src/components/PageLoading/index.tsx +18 -0
  479. package/packages/layout/src/components/SettingDrawer/BlockCheckbox.tsx +60 -0
  480. package/packages/layout/src/components/SettingDrawer/LayoutChange.tsx +122 -0
  481. package/packages/layout/src/components/SettingDrawer/RegionalChange.tsx +45 -0
  482. package/packages/layout/src/components/SettingDrawer/ThemeColor.tsx +68 -0
  483. package/packages/layout/src/components/SettingDrawer/icon/group.tsx +108 -0
  484. package/packages/layout/src/components/SettingDrawer/icon/sub.tsx +163 -0
  485. package/packages/layout/src/components/SettingDrawer/index.tsx +602 -0
  486. package/packages/layout/src/components/SettingDrawer/style/index.ts +149 -0
  487. package/packages/layout/src/components/SiderMenu/Arrow.tsx +15 -0
  488. package/packages/layout/src/components/SiderMenu/BaseMenu.tsx +741 -0
  489. package/packages/layout/src/components/SiderMenu/SiderMenu.tsx +541 -0
  490. package/packages/layout/src/components/SiderMenu/index.tsx +101 -0
  491. package/packages/layout/src/components/SiderMenu/style/index.ts +219 -0
  492. package/packages/layout/src/components/SiderMenu/style/menu.ts +177 -0
  493. package/packages/layout/src/components/SiderMenu/style/stylish.ts +33 -0
  494. package/packages/layout/src/components/TopNavHeader/index.tsx +202 -0
  495. package/packages/layout/src/components/TopNavHeader/style.ts +88 -0
  496. package/packages/layout/src/components/WaterMark/demos/custom.tsx +133 -0
  497. package/packages/layout/src/components/WaterMark/demos/frontend.tsx +135 -0
  498. package/packages/layout/src/components/WaterMark/demos/image.tsx +40 -0
  499. package/packages/layout/src/components/WaterMark/demos/text.tsx +8 -0
  500. package/packages/layout/src/components/WaterMark/demos/textRows.tsx +8 -0
  501. package/packages/layout/src/components/WaterMark/index.en-US.md +80 -0
  502. package/packages/layout/src/components/WaterMark/index.md +80 -0
  503. package/packages/layout/src/components/WaterMark/index.tsx +212 -0
  504. package/packages/layout/src/components/layout.$tab-api.md +120 -0
  505. package/packages/layout/src/components/layout.en-US.$tab-api.md +76 -0
  506. package/packages/layout/src/components/layout.en-US.md +465 -0
  507. package/packages/layout/src/components/layout.md +474 -0
  508. package/packages/layout/src/context/RouteContext.tsx +36 -0
  509. package/packages/layout/src/defaultSettings.ts +143 -0
  510. package/packages/layout/src/demos/AlwaysDefaultOpenAllMenu.tsx +88 -0
  511. package/packages/layout/src/demos/BreadcrumbsRepeat.tsx +57 -0
  512. package/packages/layout/src/demos/DefaultOpenAllMenu.tsx +26 -0
  513. package/packages/layout/src/demos/IconFont.tsx +39 -0
  514. package/packages/layout/src/demos/MenuGroup.tsx +24 -0
  515. package/packages/layout/src/demos/MultipleMenuOnePath.tsx +199 -0
  516. package/packages/layout/src/demos/Nested.tsx +65 -0
  517. package/packages/layout/src/demos/TopmenuNested.tsx +35 -0
  518. package/packages/layout/src/demos/_defaultProps.tsx +152 -0
  519. package/packages/layout/src/demos/antd@4MenuIconFormServe.tsx +67 -0
  520. package/packages/layout/src/demos/api.tsx +149 -0
  521. package/packages/layout/src/demos/appList-group-simple.tsx +104 -0
  522. package/packages/layout/src/demos/appList-group.tsx +131 -0
  523. package/packages/layout/src/demos/async-load-help.tsx +336 -0
  524. package/packages/layout/src/demos/background-context.tsx +146 -0
  525. package/packages/layout/src/demos/base.tsx +456 -0
  526. package/packages/layout/src/demos/classicMode.tsx +212 -0
  527. package/packages/layout/src/demos/collapsedShowTitle.tsx +155 -0
  528. package/packages/layout/src/demos/complexMenu.ts +101 -0
  529. package/packages/layout/src/demos/config-provider.tsx +153 -0
  530. package/packages/layout/src/demos/customMenu.ts +23 -0
  531. package/packages/layout/src/demos/customSider.tsx +140 -0
  532. package/packages/layout/src/demos/customize-collapsed.tsx +98 -0
  533. package/packages/layout/src/demos/customizeMenu.tsx +62 -0
  534. package/packages/layout/src/demos/dark.tsx +127 -0
  535. package/packages/layout/src/demos/debug-demo.tsx +154 -0
  536. package/packages/layout/src/demos/designMenuCss.tsx +204 -0
  537. package/packages/layout/src/demos/designSiderMenu.tsx +105 -0
  538. package/packages/layout/src/demos/draggableHelp.tsx +349 -0
  539. package/packages/layout/src/demos/dynamic-settings.tsx +155 -0
  540. package/packages/layout/src/demos/dynamicMenu.tsx +71 -0
  541. package/packages/layout/src/demos/error-boundaries.tsx +156 -0
  542. package/packages/layout/src/demos/footer-global-tools.tsx +211 -0
  543. package/packages/layout/src/demos/footer.tsx +31 -0
  544. package/packages/layout/src/demos/ghost.tsx +51 -0
  545. package/packages/layout/src/demos/help.tsx +683 -0
  546. package/packages/layout/src/demos/hideMenu.tsx +29 -0
  547. package/packages/layout/src/demos/immersive-navigation-top.tsx +106 -0
  548. package/packages/layout/src/demos/immersive-navigation.tsx +139 -0
  549. package/packages/layout/src/demos/menu-group.tsx +138 -0
  550. package/packages/layout/src/demos/mixMode.tsx +148 -0
  551. package/packages/layout/src/demos/morse_debug.tsx +234 -0
  552. package/packages/layout/src/demos/pageSimplify.tsx +153 -0
  553. package/packages/layout/src/demos/proHelpModal.tsx +367 -0
  554. package/packages/layout/src/demos/searchMenu.tsx +90 -0
  555. package/packages/layout/src/demos/siderMode.tsx +82 -0
  556. package/packages/layout/src/demos/siteMenu.tsx +148 -0
  557. package/packages/layout/src/demos/splitMenus.tsx +123 -0
  558. package/packages/layout/src/demos/theme.tsx +159 -0
  559. package/packages/layout/src/demos/top-breadcrumb.tsx +68 -0
  560. package/packages/layout/src/demos/topMode.tsx +351 -0
  561. package/packages/layout/src/getPageTitle.ts +138 -0
  562. package/packages/layout/src/index.tsx +93 -0
  563. package/packages/layout/src/locales/en-US/settingDrawer.ts +45 -0
  564. package/packages/layout/src/locales/en-US.ts +5 -0
  565. package/packages/layout/src/locales/index.ts +33 -0
  566. package/packages/layout/src/locales/it-IT/settingDrawer.ts +37 -0
  567. package/packages/layout/src/locales/it-IT.ts +5 -0
  568. package/packages/layout/src/locales/ko-KR/settingDrawer.ts +41 -0
  569. package/packages/layout/src/locales/ko-KR.ts +5 -0
  570. package/packages/layout/src/locales/zh-CN/settingDrawer.ts +45 -0
  571. package/packages/layout/src/locales/zh-CN.ts +5 -0
  572. package/packages/layout/src/locales/zh-TW/settingDrawer.ts +37 -0
  573. package/packages/layout/src/locales/zh-TW.ts +5 -0
  574. package/packages/layout/src/style/index.ts +280 -0
  575. package/packages/layout/src/typing.ts +77 -0
  576. package/packages/layout/src/utils/getBreadcrumbProps.tsx +204 -0
  577. package/packages/layout/src/utils/getMenuData.ts +42 -0
  578. package/packages/layout/src/utils/pathTools.ts +10 -0
  579. package/packages/layout/src/utils/useCurrentMenuLayoutProps.ts +36 -0
  580. package/packages/layout/src/utils/utils.ts +66 -0
  581. package/packages/layout/tsconfig.json +23 -0
  582. package/packages/list/.fatherrc.ts +5 -0
  583. package/packages/list/CHANGELOG.md +1840 -0
  584. package/packages/list/README.md +49 -0
  585. package/packages/list/package.json +62 -0
  586. package/packages/list/src/Item.tsx +389 -0
  587. package/packages/list/src/ListView.tsx +327 -0
  588. package/packages/list/src/components/list.en-US.md +147 -0
  589. package/packages/list/src/components/list.md +149 -0
  590. package/packages/list/src/constants.ts +17 -0
  591. package/packages/list/src/demos/ToolBar.tsx +195 -0
  592. package/packages/list/src/demos/base.tsx +85 -0
  593. package/packages/list/src/demos/card-list.tsx +117 -0
  594. package/packages/list/src/demos/editable.tsx +89 -0
  595. package/packages/list/src/demos/expand.tsx +92 -0
  596. package/packages/list/src/demos/filter.tsx +125 -0
  597. package/packages/list/src/demos/layout.tsx +95 -0
  598. package/packages/list/src/demos/pagination.tsx +64 -0
  599. package/packages/list/src/demos/search.tsx +123 -0
  600. package/packages/list/src/demos/selectedRow.tsx +86 -0
  601. package/packages/list/src/demos/size.tsx +126 -0
  602. package/packages/list/src/demos/special.tsx +109 -0
  603. package/packages/list/src/demos/testConfigProvider.tsx +66 -0
  604. package/packages/list/src/index.tsx +251 -0
  605. package/packages/list/src/style/index.ts +283 -0
  606. package/packages/list/tsconfig.json +33 -0
  607. package/packages/provider/.fatherrc.ts +5 -0
  608. package/packages/provider/CHANGELOG.md +824 -0
  609. package/packages/provider/README.md +19 -0
  610. package/packages/provider/package.json +58 -0
  611. package/packages/provider/src/index.tsx +484 -0
  612. package/packages/provider/src/intl.ts +183 -0
  613. package/packages/provider/src/locale/ar_EG.tsx +71 -0
  614. package/packages/provider/src/locale/ca_ES.tsx +71 -0
  615. package/packages/provider/src/locale/cs_CZ.tsx +74 -0
  616. package/packages/provider/src/locale/de_DE.tsx +71 -0
  617. package/packages/provider/src/locale/en_GB.tsx +73 -0
  618. package/packages/provider/src/locale/en_US.tsx +75 -0
  619. package/packages/provider/src/locale/es_ES.tsx +71 -0
  620. package/packages/provider/src/locale/fa_IR.tsx +71 -0
  621. package/packages/provider/src/locale/fr_FR.tsx +71 -0
  622. package/packages/provider/src/locale/he_IL.tsx +74 -0
  623. package/packages/provider/src/locale/hr_HR.tsx +71 -0
  624. package/packages/provider/src/locale/id_ID.tsx +71 -0
  625. package/packages/provider/src/locale/it_IT.tsx +71 -0
  626. package/packages/provider/src/locale/ja_JP.tsx +71 -0
  627. package/packages/provider/src/locale/ko_KR.tsx +71 -0
  628. package/packages/provider/src/locale/mn_MN.tsx +71 -0
  629. package/packages/provider/src/locale/ms_MY.tsx +71 -0
  630. package/packages/provider/src/locale/nl_NL.tsx +74 -0
  631. package/packages/provider/src/locale/pl_PL.tsx +71 -0
  632. package/packages/provider/src/locale/pt_BR.tsx +71 -0
  633. package/packages/provider/src/locale/ro_RO.tsx +74 -0
  634. package/packages/provider/src/locale/ru_RU.tsx +71 -0
  635. package/packages/provider/src/locale/sk_SK.tsx +74 -0
  636. package/packages/provider/src/locale/sr_RS.tsx +71 -0
  637. package/packages/provider/src/locale/sv_SE.tsx +74 -0
  638. package/packages/provider/src/locale/th_TH.tsx +74 -0
  639. package/packages/provider/src/locale/tr_TR.tsx +71 -0
  640. package/packages/provider/src/locale/uk_UA.tsx +74 -0
  641. package/packages/provider/src/locale/uz_UZ.tsx +71 -0
  642. package/packages/provider/src/locale/vi_VN.tsx +71 -0
  643. package/packages/provider/src/locale/zh_CN.tsx +74 -0
  644. package/packages/provider/src/locale/zh_TW.tsx +74 -0
  645. package/packages/provider/src/typing/layoutToken.ts +175 -0
  646. package/packages/provider/src/useStyle/index.ts +141 -0
  647. package/packages/provider/src/useStyle/token.ts +412 -0
  648. package/packages/provider/src/utils/merge.ts +28 -0
  649. package/packages/provider/tsconfig.json +18 -0
  650. package/packages/skeleton/.fatherrc.ts +5 -0
  651. package/packages/skeleton/CHANGELOG.md +253 -0
  652. package/packages/skeleton/README.md +19 -0
  653. package/packages/skeleton/package.json +54 -0
  654. package/packages/skeleton/src/components/Descriptions/index.tsx +328 -0
  655. package/packages/skeleton/src/components/List/index.tsx +310 -0
  656. package/packages/skeleton/src/components/Result/index.tsx +54 -0
  657. package/packages/skeleton/src/components/skeleton.en-US.md +49 -0
  658. package/packages/skeleton/src/components/skeleton.md +41 -0
  659. package/packages/skeleton/src/demos/descriptions.tsx +14 -0
  660. package/packages/skeleton/src/demos/list.static.tsx +12 -0
  661. package/packages/skeleton/src/demos/list.tsx +12 -0
  662. package/packages/skeleton/src/demos/result.tsx +12 -0
  663. package/packages/skeleton/src/index.tsx +48 -0
  664. package/packages/skeleton/tsconfig.json +18 -0
  665. package/packages/table/.fatherrc.ts +5 -0
  666. package/packages/table/CHANGELOG.md +2622 -0
  667. package/packages/table/README.md +167 -0
  668. package/packages/table/package.json +75 -0
  669. package/packages/table/src/Store/Provide.tsx +261 -0
  670. package/packages/table/src/Table.tsx +1043 -0
  671. package/packages/table/src/components/Alert/index.tsx +96 -0
  672. package/packages/table/src/components/Alert/style.ts +45 -0
  673. package/packages/table/src/components/ColumnSetting/index.tsx +535 -0
  674. package/packages/table/src/components/ColumnSetting/style.ts +104 -0
  675. package/packages/table/src/components/DragSortTable/demos/drag-sort-table.tsx +164 -0
  676. package/packages/table/src/components/DragSortTable/demos/drag.tsx +74 -0
  677. package/packages/table/src/components/DragSortTable/index.en-US.md +28 -0
  678. package/packages/table/src/components/DragSortTable/index.md +26 -0
  679. package/packages/table/src/components/DragSortTable/index.tsx +112 -0
  680. package/packages/table/src/components/DragSortTable/style.ts +35 -0
  681. package/packages/table/src/components/Dropdown/index.tsx +86 -0
  682. package/packages/table/src/components/EditableTable/CellEditorTable.tsx +67 -0
  683. package/packages/table/src/components/EditableTable/RowEditorTable.tsx +60 -0
  684. package/packages/table/src/components/EditableTable/demos/basic.tsx +219 -0
  685. package/packages/table/src/components/EditableTable/demos/cell-editor-table.tsx +101 -0
  686. package/packages/table/src/components/EditableTable/demos/children.tsx +202 -0
  687. package/packages/table/src/components/EditableTable/demos/custom.tsx +257 -0
  688. package/packages/table/src/components/EditableTable/demos/form-item.tsx +254 -0
  689. package/packages/table/src/components/EditableTable/demos/form-linkage.tsx +259 -0
  690. package/packages/table/src/components/EditableTable/demos/real-time-editing.tsx +155 -0
  691. package/packages/table/src/components/EditableTable/demos/row-editor-table.tsx +100 -0
  692. package/packages/table/src/components/EditableTable/index.en-US.md +303 -0
  693. package/packages/table/src/components/EditableTable/index.md +303 -0
  694. package/packages/table/src/components/EditableTable/index.tsx +562 -0
  695. package/packages/table/src/components/Form/FormRender.tsx +262 -0
  696. package/packages/table/src/components/Form/index.tsx +194 -0
  697. package/packages/table/src/components/ListToolBar/HeaderMenu.tsx +132 -0
  698. package/packages/table/src/components/ListToolBar/index.tsx +420 -0
  699. package/packages/table/src/components/ListToolBar/style.ts +127 -0
  700. package/packages/table/src/components/ToolBar/DensityIcon.tsx +47 -0
  701. package/packages/table/src/components/ToolBar/FullscreenIcon.tsx +29 -0
  702. package/packages/table/src/components/ToolBar/index.tsx +419 -0
  703. package/packages/table/src/components/table.$tab-api.md +243 -0
  704. package/packages/table/src/components/table.en-US.$tab-api.md +210 -0
  705. package/packages/table/src/components/table.en-US.md +333 -0
  706. package/packages/table/src/components/table.md +338 -0
  707. package/packages/table/src/demos/ListToolBar/basic.tsx +124 -0
  708. package/packages/table/src/demos/ListToolBar/menu.tsx +148 -0
  709. package/packages/table/src/demos/ListToolBar/multipleLine.tsx +139 -0
  710. package/packages/table/src/demos/ListToolBar/no-title.tsx +108 -0
  711. package/packages/table/src/demos/ListToolBar/tabs.tsx +176 -0
  712. package/packages/table/src/demos/batchOption.tsx +180 -0
  713. package/packages/table/src/demos/card-title.tsx +93 -0
  714. package/packages/table/src/demos/columns-setting-custom-icon.tsx +55 -0
  715. package/packages/table/src/demos/columnsStateMap.tsx +113 -0
  716. package/packages/table/src/demos/config-provider.tsx +139 -0
  717. package/packages/table/src/demos/crud.tsx +168 -0
  718. package/packages/table/src/demos/customization-value-type.tsx +174 -0
  719. package/packages/table/src/demos/dataSource.tsx +178 -0
  720. package/packages/table/src/demos/dateFormatter.tsx +130 -0
  721. package/packages/table/src/demos/dynamic-columns-state.tsx +151 -0
  722. package/packages/table/src/demos/dynamic-settings.tsx +723 -0
  723. package/packages/table/src/demos/edittable-rules.tsx +106 -0
  724. package/packages/table/src/demos/error-boundaries-false.tsx +81 -0
  725. package/packages/table/src/demos/error-boundaries.tsx +201 -0
  726. package/packages/table/src/demos/form.tsx +82 -0
  727. package/packages/table/src/demos/intl.tsx +119 -0
  728. package/packages/table/src/demos/lightfilter.tsx +81 -0
  729. package/packages/table/src/demos/linkage_form.tsx +175 -0
  730. package/packages/table/src/demos/listToolBar.tsx +184 -0
  731. package/packages/table/src/demos/no-option.tsx +113 -0
  732. package/packages/table/src/demos/no-title.tsx +167 -0
  733. package/packages/table/src/demos/normal.tsx +124 -0
  734. package/packages/table/src/demos/open-rules.tsx +187 -0
  735. package/packages/table/src/demos/pollinga.tsx +129 -0
  736. package/packages/table/src/demos/renderTable.tsx +159 -0
  737. package/packages/table/src/demos/rtl_table.tsx +137 -0
  738. package/packages/table/src/demos/search.tsx +46 -0
  739. package/packages/table/src/demos/search_option.tsx +66 -0
  740. package/packages/table/src/demos/single-test.tsx +254 -0
  741. package/packages/table/src/demos/single.tsx +242 -0
  742. package/packages/table/src/demos/split.tsx +200 -0
  743. package/packages/table/src/demos/table-nested.tsx +162 -0
  744. package/packages/table/src/demos/theme.tsx +235 -0
  745. package/packages/table/src/demos/valueType.tsx +136 -0
  746. package/packages/table/src/demos/valueTypeDate.tsx +138 -0
  747. package/packages/table/src/demos/valueTypeNumber.tsx +117 -0
  748. package/packages/table/src/demos/valueType_select.tsx +188 -0
  749. package/packages/table/src/index.tsx +96 -0
  750. package/packages/table/src/style/index.ts +178 -0
  751. package/packages/table/src/typing.ts +585 -0
  752. package/packages/table/src/useFetchData.tsx +464 -0
  753. package/packages/table/src/utils/cellRenderToFromItem.tsx +360 -0
  754. package/packages/table/src/utils/columnRender.tsx +220 -0
  755. package/packages/table/src/utils/columnSort.ts +26 -0
  756. package/packages/table/src/utils/genProColumnToColumn.tsx +192 -0
  757. package/packages/table/src/utils/index.ts +224 -0
  758. package/packages/table/src/utils/useDragSort.tsx +210 -0
  759. package/packages/table/tsconfig.json +26 -0
  760. package/packages/utils/.fatherrc.ts +5 -0
  761. package/packages/utils/CHANGELOG.md +1747 -0
  762. package/packages/utils/README.md +19 -0
  763. package/packages/utils/package.json +65 -0
  764. package/packages/utils/src/compareVersions/coverToNewToken.ts +44 -0
  765. package/packages/utils/src/compareVersions/index.ts +84 -0
  766. package/packages/utils/src/compareVersions/menuOverlayCompatible.tsx +20 -0
  767. package/packages/utils/src/compareVersions/openVisibleCompatible.ts +25 -0
  768. package/packages/utils/src/compatible/compatibleBorder.ts +21 -0
  769. package/packages/utils/src/components/DropdownFooter/index.tsx +79 -0
  770. package/packages/utils/src/components/DropdownFooter/style.ts +30 -0
  771. package/packages/utils/src/components/ErrorBoundary/index.tsx +37 -0
  772. package/packages/utils/src/components/FieldLabel/index.tsx +222 -0
  773. package/packages/utils/src/components/FieldLabel/style.ts +121 -0
  774. package/packages/utils/src/components/FilterDropdown/index.tsx +100 -0
  775. package/packages/utils/src/components/FilterDropdown/style.ts +28 -0
  776. package/packages/utils/src/components/InlineErrorFormItem/index.tsx +196 -0
  777. package/packages/utils/src/components/InlineErrorFormItem/style.ts +76 -0
  778. package/packages/utils/src/components/LabelIconTip/index.tsx +63 -0
  779. package/packages/utils/src/components/LabelIconTip/style.ts +49 -0
  780. package/packages/utils/src/components/ProFormContext/index.tsx +45 -0
  781. package/packages/utils/src/conversionMomentValue/index.ts +203 -0
  782. package/packages/utils/src/dateArrayFormatter/index.tsx +60 -0
  783. package/packages/utils/src/genCopyable/index.tsx +71 -0
  784. package/packages/utils/src/getFieldPropsOrFormItemProps/index.tsx +22 -0
  785. package/packages/utils/src/hooks/useDebounceFn/index.ts +47 -0
  786. package/packages/utils/src/hooks/useDebounceValue/index.ts +32 -0
  787. package/packages/utils/src/hooks/useDeepCompareEffect/index.ts +42 -0
  788. package/packages/utils/src/hooks/useDeepCompareMemo/index.ts +22 -0
  789. package/packages/utils/src/hooks/useDocumentTitle/index.ts +19 -0
  790. package/packages/utils/src/hooks/useFetchData/index.tsx +60 -0
  791. package/packages/utils/src/hooks/useForceRender/index.ts +9 -0
  792. package/packages/utils/src/hooks/useLatest/index.ts +10 -0
  793. package/packages/utils/src/hooks/usePrevious/index.ts +11 -0
  794. package/packages/utils/src/hooks/useReactiveRef/index.ts +21 -0
  795. package/packages/utils/src/hooks/useRefCallback/index.ts +42 -0
  796. package/packages/utils/src/hooks/useRefFunction/index.ts +11 -0
  797. package/packages/utils/src/index.tsx +158 -0
  798. package/packages/utils/src/isBrowser/index.ts +24 -0
  799. package/packages/utils/src/isDeepEqualReact/index.ts +96 -0
  800. package/packages/utils/src/isDropdownValueType/index.ts +13 -0
  801. package/packages/utils/src/isImg/index.ts +4 -0
  802. package/packages/utils/src/isNil/index.ts +2 -0
  803. package/packages/utils/src/isUrl/index.ts +17 -0
  804. package/packages/utils/src/merge/index.ts +38 -0
  805. package/packages/utils/src/nanoid/index.ts +41 -0
  806. package/packages/utils/src/omitBoolean/index.ts +11 -0
  807. package/packages/utils/src/omitUndefined/index.ts +18 -0
  808. package/packages/utils/src/omitUndefinedAndEmptyArr/index.ts +15 -0
  809. package/packages/utils/src/parseValueToMoment/index.ts +39 -0
  810. package/packages/utils/src/pickProFormItemProps/index.tsx +44 -0
  811. package/packages/utils/src/pickProProps/index.tsx +16 -0
  812. package/packages/utils/src/proFieldParsingText/index.tsx +142 -0
  813. package/packages/utils/src/runFunction/index.ts +7 -0
  814. package/packages/utils/src/stringify/index.ts +13 -0
  815. package/packages/utils/src/transformKeySubmitValue/index.ts +207 -0
  816. package/packages/utils/src/typing.ts +767 -0
  817. package/packages/utils/src/useEditableArray/index.tsx +1134 -0
  818. package/packages/utils/src/useEditableMap/index.tsx +236 -0
  819. package/packages/utils/src/useMediaQuery/index.ts +109 -0
  820. package/packages/utils/src/useMediaQuery/query.ts +19 -0
  821. package/packages/utils/src/useMountMergeState/index.ts +3 -0
  822. package/packages/utils/tsconfig.json +21 -0
  823. package/pnpm-workspace.yaml +2 -0
  824. package/public/CNAME +1 -0
  825. package/public/favicon.ico +0 -0
  826. package/public/icon.png +0 -0
  827. package/public/sitemap.xml +458 -0
  828. package/scripts/bootstrap.js +108 -0
  829. package/scripts/changelogs.js +10 -0
  830. package/scripts/checkDeps.js +166 -0
  831. package/scripts/checkPublish.js +10 -0
  832. package/scripts/createRelease.js +125 -0
  833. package/scripts/gen_version.js +34 -0
  834. package/scripts/generateSizeLimit.js +38 -0
  835. package/scripts/issue.js +91 -0
  836. package/scripts/preDeploy.js +18 -0
  837. package/scripts/readApi.mjs +145 -0
  838. package/scripts/release.js +184 -0
  839. package/scripts/replaceEs.js +22 -0
  840. package/scripts/replaceLib.js +22 -0
  841. package/scripts/replaceLodash.js +21 -0
  842. package/scripts/syncTNPM.js +19 -0
  843. package/scripts/utils/exec.js +23 -0
  844. package/scripts/utils/getPackages.js +8 -0
  845. package/scripts/utils/isNextVersion.js +7 -0
  846. package/scripts/verifyCommit.js +28 -0
  847. package/tsconfig.json +39 -9
  848. package/typings.d.ts +6 -0
  849. package/vercel.json +7 -0
  850. package/vitest.config.ts +48 -0
  851. package/.idea/modules.xml +0 -8
  852. package/.idea/test-components.iml +0 -12
  853. package/.idea/vcs.xml +0 -6
  854. package/build/components/ActionBar/index.d.ts +0 -17
  855. package/build/components/ActionBar/type.d.ts +0 -82
  856. package/build/components/DataChart/index.d.ts +0 -7
  857. package/build/components/DataChart/type.d.ts +0 -50
  858. package/build/components/DataTable/index.d.ts +0 -9
  859. package/build/components/DataTable/locales/en-US.d.ts +0 -4
  860. package/build/components/DataTable/locales/zh-CN.d.ts +0 -4
  861. package/build/components/DataTable/type.d.ts +0 -117
  862. package/build/components/DragTable/index.d.ts +0 -9
  863. package/build/components/DragTable/type.d.ts +0 -22
  864. package/build/components/FileTag/index.d.ts +0 -9
  865. package/build/components/FileTag/locales/en-US.d.ts +0 -5
  866. package/build/components/FileTag/locales/zh-CN.d.ts +0 -5
  867. package/build/components/FileTag/type.d.ts +0 -35
  868. package/build/components/HtmlRender/index.d.ts +0 -10
  869. package/build/components/HtmlRender/type.d.ts +0 -13
  870. package/build/components/IconRender/index.d.ts +0 -9
  871. package/build/components/IconRender/type.d.ts +0 -9
  872. package/build/components/ThemeListener/index.d.ts +0 -10
  873. package/build/components/ThemeListener/type.d.ts +0 -10
  874. package/build/components/ThemeSetter/index.d.ts +0 -9
  875. package/build/components/UserCard/index.d.ts +0 -9
  876. package/build/components/UserCard/locales/en-US.d.ts +0 -10
  877. package/build/components/UserCard/locales/zh-CN.d.ts +0 -10
  878. package/build/components/UserCard/type.d.ts +0 -52
  879. package/build/components/UserSelector/index.d.ts +0 -8
  880. package/build/components/UserSelector/locales/en-US.d.ts +0 -5
  881. package/build/components/UserSelector/locales/zh-CN.d.ts +0 -5
  882. package/build/components/UserSelector/type.d.ts +0 -60
  883. package/build/index.d.ts +0 -78
  884. package/build/index.js +0 -28
  885. package/build/index.js.LICENSE.txt +0 -1733
  886. package/build/locales/en-US.d.ts +0 -20
  887. package/build/locales/zh-CN.d.ts +0 -20
  888. package/build/services/constants/commonConstant.d.ts +0 -6
  889. package/build/services/constants/dbConstant.d.ts +0 -4
  890. package/build/services/constants/iconConstant.d.ts +0 -4
  891. package/build/services/constants/locales/en-US.d.ts +0 -8
  892. package/build/services/constants/locales/zh-CN.d.ts +0 -8
  893. package/build/services/enums/eventEnum.d.ts +0 -10
  894. package/build/services/enums/storageEnum.d.ts +0 -10
  895. package/build/services/types/commonType.d.ts +0 -42
  896. package/build/services/utils/dbUtil.d.ts +0 -5
  897. package/build/services/utils/eventUtil.d.ts +0 -5
  898. package/build/services/utils/objectUtil.d.ts +0 -5
  899. package/build/services/utils/renderUtil.d.ts +0 -6
  900. package/build/services/utils/resourceUtil.d.ts +0 -12
  901. package/build/services/utils/storageUtil.d.ts +0 -5
@@ -0,0 +1,93 @@
1
+ import { Segmented, Spin } from 'antd';
2
+ import omit from 'omit.js';
3
+ import React, { useImperativeHandle, useRef } from 'react';
4
+ import type { ProFieldFC } from '../../index';
5
+ import type { FieldSelectProps } from '../Select';
6
+ import { useFieldFetchData } from '../Select';
7
+
8
+ import { objectToMap, proFieldParsingText } from '@ant-design/pro-utils';
9
+ import 'antd/lib/segmented/style';
10
+ import 'antd/lib/spin/style';
11
+
12
+ /**
13
+ * Segmented https://ant.design/components/segmented-cn/
14
+ *
15
+ * @param
16
+ */
17
+ const FieldSegmented: ProFieldFC<
18
+ {
19
+ text: string;
20
+ emptyText?: React.ReactNode;
21
+ } & FieldSelectProps
22
+ > = (props, ref) => {
23
+ const {
24
+ mode,
25
+ render,
26
+ renderFormItem,
27
+ fieldProps,
28
+ emptyText = '-',
29
+ ...rest
30
+ } = props;
31
+
32
+ const inputRef = useRef<HTMLInputElement>();
33
+
34
+ const [loading, options, fetchData] = useFieldFetchData(props);
35
+
36
+ useImperativeHandle(
37
+ ref,
38
+ () => ({
39
+ ...(inputRef.current || {}),
40
+ fetchData: (keyWord: string) => fetchData(keyWord),
41
+ }),
42
+ [fetchData],
43
+ );
44
+
45
+ if (loading) {
46
+ return <Spin size="small" />;
47
+ }
48
+
49
+ if (mode === 'read') {
50
+ const optionsValueEnum = options?.length
51
+ ? options?.reduce((pre: any, cur) => {
52
+ return { ...pre, [(cur.value as any) ?? '']: cur.label };
53
+ }, {})
54
+ : undefined;
55
+
56
+ const dom = (
57
+ <>
58
+ {proFieldParsingText(
59
+ rest.text,
60
+ objectToMap(rest.valueEnum || optionsValueEnum),
61
+ )}
62
+ </>
63
+ );
64
+
65
+ if (render) {
66
+ return (
67
+ render(rest.text, { mode, ...fieldProps }, <>{dom}</>) ?? emptyText
68
+ );
69
+ }
70
+ return dom;
71
+ }
72
+ if (mode === 'edit' || mode === 'update') {
73
+ const dom = (
74
+ <Segmented
75
+ ref={inputRef}
76
+ {...(omit(fieldProps || {}, ['allowClear']) as any)}
77
+ options={options}
78
+ />
79
+ );
80
+
81
+ if (renderFormItem) {
82
+ return renderFormItem(
83
+ rest.text,
84
+ { mode, ...fieldProps, options, loading },
85
+ dom,
86
+ );
87
+ }
88
+ return dom;
89
+ }
90
+ return null;
91
+ };
92
+
93
+ export default React.forwardRef(FieldSegmented);
@@ -0,0 +1,286 @@
1
+ import { SearchOutlined } from '@ant-design/icons';
2
+ import { FieldLabel, compatibleBorder, useStyle } from '@ant-design/pro-utils';
3
+ import type { SelectProps } from 'antd';
4
+ import { ConfigProvider, Input, Select } from 'antd';
5
+
6
+ import classNames from 'classnames';
7
+ import toArray from 'rc-util/lib/Children/toArray';
8
+ import React, { useContext, useMemo, useState } from 'react';
9
+ import type { ProFieldLightProps } from '../../../index';
10
+
11
+ export type LightSelectProps = {
12
+ label?: string;
13
+ placeholder?: any;
14
+ valueMaxLength?: number;
15
+ /** 刷新数据 */
16
+ fetchData: (keyWord?: string) => void;
17
+ /**
18
+ * 当搜索关键词发生变化时是否请求远程数据
19
+ *
20
+ * @default true
21
+ */
22
+ fetchDataOnSearch?: boolean;
23
+ } & ProFieldLightProps;
24
+
25
+ /**
26
+ * 如果有 label 就优先使用 label
27
+ *
28
+ * @param valueMap
29
+ * @param v
30
+ */
31
+ const getValueOrLabel = (
32
+ valueMap: Record<string, string>,
33
+ v:
34
+ | {
35
+ label: string;
36
+ value: string;
37
+ }
38
+ | string,
39
+ ) => {
40
+ if (typeof v !== 'object') {
41
+ return valueMap[v] || v;
42
+ }
43
+ return valueMap[v?.value] || v.label;
44
+ };
45
+
46
+ const LightSelect: React.ForwardRefRenderFunction<
47
+ any,
48
+ SelectProps<any> & LightSelectProps
49
+ > = (props, ref) => {
50
+ const {
51
+ label,
52
+ prefixCls: customizePrefixCls,
53
+ onChange,
54
+ value,
55
+ mode,
56
+ children,
57
+ defaultValue,
58
+ size,
59
+ showSearch,
60
+ disabled,
61
+ style,
62
+ className,
63
+ bordered,
64
+ options,
65
+ onSearch,
66
+ allowClear,
67
+ labelInValue,
68
+ fieldNames,
69
+ lightLabel,
70
+ labelTrigger,
71
+ optionFilterProp,
72
+ optionLabelProp = '',
73
+ valueMaxLength = 41,
74
+ fetchDataOnSearch = false,
75
+ fetchData,
76
+ ...restProps
77
+ } = props;
78
+ const { placeholder = label } = props;
79
+ const { label: labelPropsName = 'label', value: valuePropsName = 'value' } =
80
+ fieldNames || {};
81
+ const { getPrefixCls } = useContext(ConfigProvider.ConfigContext);
82
+ const prefixCls = getPrefixCls('pro-field-select-light-select');
83
+ const [open, setOpen] = useState<boolean>(false);
84
+ const [keyword, setKeyword] = useState<string>('');
85
+
86
+ // css
87
+ const { wrapSSR, hashId } = useStyle('LightSelect', (token) => {
88
+ return {
89
+ [`.${prefixCls}`]: {
90
+ [`${token.antCls}-select`]: {
91
+ position: 'absolute',
92
+ width: '153px',
93
+ height: '28px',
94
+ visibility: 'hidden',
95
+ '&-selector': {
96
+ height: 28,
97
+ },
98
+ },
99
+
100
+ [`&.${prefixCls}-searchable`]: {
101
+ [`${token.antCls}-select`]: {
102
+ width: '200px',
103
+ '&-selector': {
104
+ height: 28,
105
+ },
106
+ },
107
+ },
108
+ },
109
+ };
110
+ });
111
+
112
+ const valueMap: Record<string, string> = useMemo(() => {
113
+ const values = {} as Record<string, any>;
114
+ options?.forEach((item) => {
115
+ const optionLabel = item[optionLabelProp] || item[labelPropsName];
116
+ const optionValue = item[valuePropsName];
117
+ values[optionValue!] = optionLabel || optionValue;
118
+ });
119
+ return values;
120
+ }, [labelPropsName, options, valuePropsName, optionLabelProp]);
121
+
122
+ // 修复用户在使用ProFormSelect组件时,在fieldProps中使用open属性,不生效。
123
+ // ProComponents文档中写到“与select相同,且fieldProps同antd组件中的props”描述方案不相符
124
+ const mergeOpen = useMemo(() => {
125
+ if (Reflect.has(restProps, 'open')) {
126
+ return restProps?.open;
127
+ }
128
+ return open;
129
+ }, [open, restProps]);
130
+
131
+ const filterValue = Array.isArray(value)
132
+ ? value.map((v) => getValueOrLabel(valueMap, v))
133
+ : getValueOrLabel(valueMap, value);
134
+
135
+ return wrapSSR(
136
+ <div
137
+ className={classNames(
138
+ prefixCls,
139
+ hashId,
140
+ {
141
+ [`${prefixCls}-searchable`]: showSearch,
142
+ },
143
+ `${prefixCls}-container-${restProps.placement || 'bottomLeft'}`,
144
+ className,
145
+ )}
146
+ style={style}
147
+ onClick={(e) => {
148
+ if (disabled) return;
149
+ // 点击label切换下拉菜单
150
+ const isLabelClick = lightLabel?.current?.labelRef?.current?.contains(
151
+ e.target as HTMLElement,
152
+ );
153
+ if (isLabelClick) {
154
+ setOpen(!open);
155
+ } else {
156
+ // 这里注释掉
157
+ /**
158
+ * 因为这里与代码
159
+ * if (mode !== 'multiple') {
160
+ * setOpen(false);
161
+ * }
162
+ * 冲突了,导致这段代码不生效
163
+ */
164
+ // setOpen(true);
165
+ }
166
+ }}
167
+ >
168
+ <Select
169
+ /**
170
+ * popupMatchSelectWidth写死false会关闭虚拟滚动,数量量过大时,影响组件性能
171
+ * 将此属性注释掉,变成灵活的动态配置
172
+ */
173
+ // popupMatchSelectWidth={false}
174
+ {...restProps}
175
+ allowClear={allowClear}
176
+ value={value}
177
+ mode={mode}
178
+ labelInValue={labelInValue}
179
+ size={size}
180
+ disabled={disabled}
181
+ onChange={(v, option) => {
182
+ onChange?.(v, option);
183
+ if (mode !== 'multiple') {
184
+ setOpen(false);
185
+ }
186
+ }}
187
+ {...compatibleBorder(bordered)}
188
+ showSearch={showSearch}
189
+ onSearch={
190
+ showSearch
191
+ ? (keyValue) => {
192
+ if (fetchDataOnSearch && fetchData) {
193
+ fetchData(keyValue);
194
+ }
195
+ onSearch?.(keyValue);
196
+ }
197
+ : void 0
198
+ }
199
+ style={style}
200
+ dropdownRender={(menuNode) => {
201
+ return (
202
+ <div ref={ref}>
203
+ {showSearch && (
204
+ <div style={{ margin: '4px 8px' }}>
205
+ <Input
206
+ value={keyword}
207
+ allowClear={!!allowClear}
208
+ onChange={(e) => {
209
+ setKeyword(e.target.value);
210
+ if (fetchDataOnSearch && fetchData) {
211
+ fetchData(e.target.value);
212
+ }
213
+ onSearch?.(e.target.value);
214
+ }}
215
+ onKeyDown={(e) => {
216
+ // 避免按下删除键把选项也删除了
217
+ if (e.key === 'Backspace') {
218
+ e.stopPropagation();
219
+ return;
220
+ }
221
+ if (e.key === 'ArrowUp' || e.key === 'ArrowDown') {
222
+ e.preventDefault();
223
+ }
224
+ }}
225
+ style={{ width: '100%' }}
226
+ prefix={<SearchOutlined />}
227
+ />
228
+ </div>
229
+ )}
230
+ {menuNode}
231
+ </div>
232
+ );
233
+ }}
234
+ open={mergeOpen}
235
+ onDropdownVisibleChange={(isOpen) => {
236
+ if (!isOpen) {
237
+ // 测试环境下直接跑
238
+ setKeyword('');
239
+ }
240
+ if (!labelTrigger) {
241
+ setOpen(isOpen);
242
+ }
243
+ restProps?.onDropdownVisibleChange?.(isOpen);
244
+ }}
245
+ prefixCls={customizePrefixCls}
246
+ options={
247
+ onSearch || !keyword
248
+ ? options
249
+ : options?.filter((o) => {
250
+ if (optionFilterProp) {
251
+ return toArray(o[optionFilterProp])
252
+ .join('')
253
+ .toLowerCase()
254
+ .includes(keyword);
255
+ }
256
+ return (
257
+ String(o[labelPropsName])
258
+ ?.toLowerCase()
259
+ ?.includes(keyword?.toLowerCase()) ||
260
+ o[valuePropsName]
261
+ ?.toString()
262
+ ?.toLowerCase()
263
+ ?.includes(keyword?.toLowerCase())
264
+ );
265
+ })
266
+ }
267
+ />
268
+ <FieldLabel
269
+ ellipsis
270
+ label={label}
271
+ placeholder={placeholder}
272
+ disabled={disabled}
273
+ bordered={bordered}
274
+ allowClear={!!allowClear}
275
+ value={filterValue || value?.label || value}
276
+ onClear={() => {
277
+ onChange?.(undefined, undefined as any);
278
+ }}
279
+ ref={lightLabel}
280
+ valueMaxLength={valueMaxLength}
281
+ />
282
+ </div>,
283
+ );
284
+ };
285
+
286
+ export default React.forwardRef(LightSelect);
@@ -0,0 +1,334 @@
1
+ import type { RequestOptionsType } from '@ant-design/pro-utils';
2
+ import { nanoid } from '@ant-design/pro-utils';
3
+ import type { SelectProps } from 'antd';
4
+ import { ConfigProvider, Select } from 'antd';
5
+
6
+ import type { DefaultOptionType, LabeledValue } from 'antd/lib/select';
7
+ import classNames from 'classnames';
8
+ import React, {
9
+ useContext,
10
+ useEffect,
11
+ useImperativeHandle,
12
+ useRef,
13
+ useState,
14
+ } from 'react';
15
+
16
+ // 支持 key, value, label,兼容 UserSearch 中只填写了 key 的情况。
17
+ export type KeyLabel = Partial<LabeledValue> & RequestOptionsType;
18
+
19
+ /** 用户扩展数据后的值类型 */
20
+ export type DataValueType<T> = KeyLabel & T;
21
+
22
+ /** 可能单选,可能多选 */
23
+ export type DataValuesType<T> = DataValueType<T> | DataValueType<T>[];
24
+
25
+ export interface SearchSelectProps<T = Record<string, any>>
26
+ extends Omit<SelectProps<KeyLabel | KeyLabel[]>, 'options'> {
27
+ /** 防抖动时间 默认10 单位ms */
28
+ debounceTime?: number;
29
+ /** 自定义搜索方法, 返回搜索结果的 Promise */
30
+ request?: (params: { query: string }) => Promise<DataValueType<T>[]>;
31
+ /** 自定义选项渲染 */
32
+ optionItemRender?: (item: DataValueType<T>) => React.ReactNode;
33
+ /** 指定组件中的值 */
34
+ value?: KeyLabel | KeyLabel[];
35
+ /** 指定默认选中的条目 */
36
+ defaultValue?: KeyLabel | KeyLabel[];
37
+
38
+ options?: RequestOptionsType[];
39
+
40
+ /**
41
+ * 样式
42
+ *
43
+ * @ignore
44
+ */
45
+ style?: React.CSSProperties;
46
+ /**
47
+ * ClassName 类名
48
+ *
49
+ * @ignore
50
+ */
51
+ className?: string;
52
+ /**
53
+ * Placeholder 输入提示
54
+ *
55
+ * @default 请输入关键字搜索
56
+ */
57
+ placeholder?: string;
58
+ /**
59
+ * 是否在输入框聚焦时触发搜索
60
+ *
61
+ * @default false
62
+ */
63
+ searchOnFocus?: boolean;
64
+ /**
65
+ * 选择完一个之后是否清空搜索项重新搜索
66
+ *
67
+ * @default false
68
+ */
69
+ resetAfterSelect?: boolean;
70
+ /**
71
+ * 自定义前缀
72
+ *
73
+ * @ignore
74
+ */
75
+ prefixCls?: string;
76
+
77
+ /** 刷新数据 */
78
+ fetchData: (keyWord?: string) => void;
79
+
80
+ /** 清空数据 */
81
+ resetData: () => void;
82
+
83
+ /**
84
+ * 当搜索关键词发生变化时是否请求远程数据
85
+ *
86
+ * @default true
87
+ */
88
+ fetchDataOnSearch?: boolean;
89
+
90
+ /** 默认搜索关键词 */
91
+ defaultSearchValue?: string;
92
+
93
+ /**
94
+ * 在选择时保留选项的原始标签文本
95
+ * 当设置为 true 时,选中后回填的内容将使用选项的原始 label,而不是经过 optionItemRender 处理后的内容
96
+ * @default false
97
+ */
98
+ preserveOriginalLabel?: boolean;
99
+ }
100
+
101
+ const SearchSelect = <T,>(props: SearchSelectProps<T[]>, ref: any) => {
102
+ const {
103
+ optionItemRender,
104
+ mode,
105
+ onSearch,
106
+ onFocus,
107
+ onChange,
108
+ autoClearSearchValue = true,
109
+ searchOnFocus = false,
110
+ resetAfterSelect = false,
111
+ fetchDataOnSearch = true,
112
+ optionFilterProp = 'label',
113
+ optionLabelProp = 'label',
114
+ className,
115
+ disabled,
116
+ options,
117
+ fetchData,
118
+ resetData,
119
+ prefixCls: customizePrefixCls,
120
+ onClear,
121
+ searchValue: propsSearchValue,
122
+ showSearch,
123
+ fieldNames,
124
+ defaultSearchValue,
125
+ preserveOriginalLabel = false,
126
+ ...restProps
127
+ } = props;
128
+
129
+ const {
130
+ label: labelPropsName = 'label',
131
+ value: valuePropsName = 'value',
132
+ options: optionsPropsName = 'options',
133
+ } = fieldNames || {};
134
+
135
+ const [searchValue, setSearchValue] = useState(
136
+ propsSearchValue ?? defaultSearchValue,
137
+ );
138
+
139
+ const selectRef = useRef<any>();
140
+
141
+ useImperativeHandle(ref, () => selectRef.current);
142
+
143
+ useEffect(() => {
144
+ if (restProps.autoFocus) {
145
+ selectRef?.current?.focus();
146
+ }
147
+ }, [restProps.autoFocus]);
148
+
149
+ useEffect(() => {
150
+ setSearchValue(propsSearchValue);
151
+ }, [propsSearchValue]);
152
+
153
+ const { getPrefixCls } = useContext(ConfigProvider.ConfigContext);
154
+
155
+ const prefixCls = getPrefixCls('pro-filed-search-select', customizePrefixCls);
156
+
157
+ // 兼容 renderXXX API。
158
+
159
+ const classString = classNames(prefixCls, className, {
160
+ [`${prefixCls}-disabled`]: disabled,
161
+ });
162
+
163
+ const getMergeValue: SelectProps<any>['onChange'] = (value, option) => {
164
+ if (Array.isArray(value) && Array.isArray(option) && value.length > 0) {
165
+ // 多选情况且用户有选择
166
+ return value.map((item, index) => {
167
+ const optionItem = (option as DefaultOptionType[])?.[
168
+ index
169
+ ] as DefaultOptionType;
170
+ const dataItem = optionItem?.['data-item'] || {};
171
+ return {
172
+ ...dataItem,
173
+ ...item,
174
+ label: preserveOriginalLabel ? dataItem.label : item.label,
175
+ };
176
+ });
177
+ }
178
+ return [];
179
+ };
180
+
181
+ const genOptions = (
182
+ mapOptions: RequestOptionsType[],
183
+ ): DefaultOptionType[] => {
184
+ return mapOptions.map((item, index) => {
185
+ const {
186
+ className: itemClassName,
187
+ optionType,
188
+ ...resetItem
189
+ } = item as RequestOptionsType;
190
+
191
+ const label = item[labelPropsName];
192
+ const value = item[valuePropsName];
193
+ const itemOptions = item[optionsPropsName] ?? [];
194
+
195
+ if (optionType === 'optGroup' || item.options) {
196
+ return {
197
+ label: label,
198
+ ...resetItem,
199
+ data_title: label,
200
+ title: label,
201
+ key: value ?? `${label?.toString()}-${index}-${nanoid()}`, // 防止因key相同导致虚拟滚动出问题
202
+ children: genOptions(itemOptions),
203
+ } as DefaultOptionType;
204
+ }
205
+
206
+ return {
207
+ title: label,
208
+ ...resetItem,
209
+ data_title: label,
210
+ value: value ?? index,
211
+ key: value ?? `${label?.toString()}-${index}-${nanoid()}`,
212
+ 'data-item': item,
213
+ className: `${prefixCls}-option ${itemClassName || ''}`.trim(),
214
+ label: optionItemRender?.(item as any) || label,
215
+ } as DefaultOptionType;
216
+ });
217
+ };
218
+ return (
219
+ <Select<any>
220
+ ref={selectRef}
221
+ className={classString}
222
+ allowClear
223
+ autoClearSearchValue={autoClearSearchValue}
224
+ disabled={disabled}
225
+ mode={mode}
226
+ showSearch={showSearch}
227
+ searchValue={searchValue}
228
+ optionFilterProp={optionFilterProp}
229
+ optionLabelProp={optionLabelProp}
230
+ onClear={() => {
231
+ onClear?.();
232
+ fetchData(undefined);
233
+ if (showSearch) {
234
+ setSearchValue(undefined);
235
+ }
236
+ }}
237
+ {...restProps}
238
+ filterOption={
239
+ restProps.filterOption == false
240
+ ? false
241
+ : (inputValue, option) => {
242
+ if (
243
+ restProps.filterOption &&
244
+ typeof restProps.filterOption === 'function'
245
+ ) {
246
+ return restProps.filterOption(inputValue, {
247
+ ...option,
248
+ label: option?.data_title,
249
+ });
250
+ }
251
+ return !!(
252
+ option?.data_title
253
+ ?.toString()
254
+ .toLowerCase()
255
+ .includes(inputValue.toLowerCase()) ||
256
+ option?.label
257
+ ?.toString()
258
+ .toLowerCase()
259
+ .includes(inputValue.toLowerCase()) ||
260
+ option?.value
261
+ ?.toString()
262
+ .toLowerCase()
263
+ .includes(inputValue.toLowerCase())
264
+ );
265
+ }
266
+ } // 这里使用pro-components的过滤逻辑
267
+ onSearch={
268
+ showSearch
269
+ ? (value) => {
270
+ if (fetchDataOnSearch) {
271
+ fetchData(value);
272
+ }
273
+ onSearch?.(value);
274
+ setSearchValue(value);
275
+ }
276
+ : undefined
277
+ }
278
+ onChange={(value, optionList, ...rest) => {
279
+ // 将搜索框置空 和 antd 行为保持一致
280
+ if (showSearch && autoClearSearchValue) {
281
+ fetchData(undefined);
282
+ onSearch?.('');
283
+ setSearchValue(undefined);
284
+ }
285
+
286
+ if (!props.labelInValue) {
287
+ onChange?.(value, optionList, ...rest);
288
+ return;
289
+ }
290
+
291
+ if (mode !== 'multiple' && !Array.isArray(optionList)) {
292
+ // 单选情况且用户选择了选项
293
+ const dataItem = optionList && optionList['data-item'];
294
+ // 如果value值为空则是清空时产生的回调,直接传值就可以了
295
+ if (!value || !dataItem) {
296
+ const changedValue = value
297
+ ? {
298
+ ...value,
299
+ label: preserveOriginalLabel ? dataItem?.label : value.label,
300
+ }
301
+ : value;
302
+ onChange?.(changedValue, optionList, ...rest);
303
+ } else {
304
+ onChange?.(
305
+ {
306
+ ...value,
307
+ ...dataItem,
308
+ label: preserveOriginalLabel ? dataItem.label : value.label,
309
+ },
310
+ optionList,
311
+ ...rest,
312
+ );
313
+ }
314
+ return;
315
+ }
316
+ // 合并值
317
+ const mergeValue = getMergeValue(value, optionList) as any;
318
+ onChange?.(mergeValue, optionList, ...rest);
319
+
320
+ // 将搜索结果置空,重新搜索
321
+ if (resetAfterSelect) resetData();
322
+ }}
323
+ onFocus={(e) => {
324
+ if (searchOnFocus) {
325
+ fetchData(searchValue);
326
+ }
327
+ onFocus?.(e);
328
+ }}
329
+ options={genOptions(options || [])}
330
+ />
331
+ );
332
+ };
333
+
334
+ export default React.forwardRef(SearchSelect);