form-render-v3 3.0.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (369) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +126 -0
  3. package/es/derivative/SearchForm/ActionView.d.ts +3 -0
  4. package/es/derivative/SearchForm/ActionView.js +72 -0
  5. package/es/derivative/SearchForm/index.css +31 -0
  6. package/es/derivative/SearchForm/index.d.ts +5 -0
  7. package/es/derivative/SearchForm/index.js +294 -0
  8. package/es/derivative/SlimRender/index.d.ts +3 -0
  9. package/es/derivative/SlimRender/index.js +6 -0
  10. package/es/form-core/connectForm.d.ts +3 -0
  11. package/es/form-core/connectForm.js +12 -0
  12. package/es/form-core/index.css +19 -0
  13. package/es/form-core/index.d.ts +5 -0
  14. package/es/form-core/index.js +305 -0
  15. package/es/index.d.ts +10 -0
  16. package/es/index.js +10 -0
  17. package/es/locales/en_US.d.ts +28 -0
  18. package/es/locales/en_US.js +27 -0
  19. package/es/locales/index.d.ts +57 -0
  20. package/es/locales/index.js +6 -0
  21. package/es/locales/zh_CN.d.ts +28 -0
  22. package/es/locales/zh_CN.js +27 -0
  23. package/es/models/bindValues.d.ts +2 -0
  24. package/es/models/bindValues.js +172 -0
  25. package/es/models/context.d.ts +3 -0
  26. package/es/models/context.js +3 -0
  27. package/es/models/expression.d.ts +7 -0
  28. package/es/models/expression.js +135 -0
  29. package/es/models/fieldShouldUpdate.d.ts +2 -0
  30. package/es/models/fieldShouldUpdate.js +70 -0
  31. package/es/models/filterValuesHidden.d.ts +5 -0
  32. package/es/models/filterValuesHidden.js +61 -0
  33. package/es/models/filterValuesUndefined.d.ts +2 -0
  34. package/es/models/filterValuesUndefined.js +47 -0
  35. package/es/models/flattenSchema.d.ts +3 -0
  36. package/es/models/flattenSchema.js +91 -0
  37. package/es/models/formCoreUtils.d.ts +8 -0
  38. package/es/models/formCoreUtils.js +190 -0
  39. package/es/models/formDataSkeleton.d.ts +1 -0
  40. package/es/models/formDataSkeleton.js +31 -0
  41. package/es/models/layout.d.ts +4 -0
  42. package/es/models/layout.js +88 -0
  43. package/es/models/mapping.d.ts +89 -0
  44. package/es/models/mapping.js +119 -0
  45. package/es/models/sortProperties.d.ts +2 -0
  46. package/es/models/sortProperties.js +41 -0
  47. package/es/models/store.d.ts +10 -0
  48. package/es/models/store.js +22 -0
  49. package/es/models/transformProps.d.ts +34 -0
  50. package/es/models/transformProps.js +80 -0
  51. package/es/models/useForm.d.ts +3 -0
  52. package/es/models/useForm.js +322 -0
  53. package/es/models/validateMessage.d.ts +93 -0
  54. package/es/models/validateMessage.js +95 -0
  55. package/es/models/validates.d.ts +3 -0
  56. package/es/models/validates.js +201 -0
  57. package/es/render-core/FieldItem/field.d.ts +3 -0
  58. package/es/render-core/FieldItem/field.js +81 -0
  59. package/es/render-core/FieldItem/index.d.ts +3 -0
  60. package/es/render-core/FieldItem/index.js +54 -0
  61. package/es/render-core/FieldItem/main.d.ts +3 -0
  62. package/es/render-core/FieldItem/main.js +228 -0
  63. package/es/render-core/FieldItem/module.d.ts +18 -0
  64. package/es/render-core/FieldItem/module.js +337 -0
  65. package/es/render-core/FieldList/field.d.ts +3 -0
  66. package/es/render-core/FieldList/field.js +300 -0
  67. package/es/render-core/FieldList/index.d.ts +3 -0
  68. package/es/render-core/FieldList/index.js +44 -0
  69. package/es/render-core/FieldList/main.d.ts +3 -0
  70. package/es/render-core/FieldList/main.js +99 -0
  71. package/es/render-core/FieldList/modules.d.ts +7 -0
  72. package/es/render-core/FieldList/modules.js +108 -0
  73. package/es/render-core/index.css +29 -0
  74. package/es/render-core/index.d.ts +9 -0
  75. package/es/render-core/index.js +85 -0
  76. package/es/type.d.ts +405 -0
  77. package/es/type.js +1 -0
  78. package/es/utils/index.d.ts +75 -0
  79. package/es/utils/index.js +120 -0
  80. package/es/widgets/ErrorSchema/index.d.ts +3 -0
  81. package/es/widgets/ErrorSchema/index.js +14 -0
  82. package/es/widgets/boxCollapse/index.css +53 -0
  83. package/es/widgets/boxCollapse/index.d.ts +18 -0
  84. package/es/widgets/boxCollapse/index.js +70 -0
  85. package/es/widgets/boxLineTitle/index.css +18 -0
  86. package/es/widgets/boxLineTitle/index.d.ts +8 -0
  87. package/es/widgets/boxLineTitle/index.js +23 -0
  88. package/es/widgets/boxSubInline/index.css +11 -0
  89. package/es/widgets/boxSubInline/index.d.ts +4 -0
  90. package/es/widgets/boxSubInline/index.js +56 -0
  91. package/es/widgets/boxcard/index.css +17 -0
  92. package/es/widgets/boxcard/index.d.ts +8 -0
  93. package/es/widgets/boxcard/index.js +20 -0
  94. package/es/widgets/components/DatePicker/index.d.ts +3 -0
  95. package/es/widgets/components/DatePicker/index.js +15 -0
  96. package/es/widgets/components/FButton/index.d.ts +3 -0
  97. package/es/widgets/components/FButton/index.js +24 -0
  98. package/es/widgets/components/HeaderTitle/index.css +0 -0
  99. package/es/widgets/components/HeaderTitle/index.d.ts +4 -0
  100. package/es/widgets/components/HeaderTitle/index.js +14 -0
  101. package/es/widgets/components/PanelView/index.css +6 -0
  102. package/es/widgets/components/PanelView/index.d.ts +4 -0
  103. package/es/widgets/components/PanelView/index.js +13 -0
  104. package/es/widgets/components/TimePicker/index.d.ts +2 -0
  105. package/es/widgets/components/TimePicker/index.js +18 -0
  106. package/es/widgets/fields/checkbox/index.d.ts +3 -0
  107. package/es/widgets/fields/checkbox/index.js +15 -0
  108. package/es/widgets/fields/checkboxes/index.d.ts +3 -0
  109. package/es/widgets/fields/checkboxes/index.js +31 -0
  110. package/es/widgets/fields/date/index.d.ts +3 -0
  111. package/es/widgets/fields/date/index.js +45 -0
  112. package/es/widgets/fields/dateRange/index.d.ts +7 -0
  113. package/es/widgets/fields/dateRange/index.js +64 -0
  114. package/es/widgets/fields/html/index.d.ts +2 -0
  115. package/es/widgets/fields/html/index.js +53 -0
  116. package/es/widgets/fields/imageInput/index.css +7 -0
  117. package/es/widgets/fields/imageInput/index.d.ts +4 -0
  118. package/es/widgets/fields/imageInput/index.js +38 -0
  119. package/es/widgets/fields/input/index.d.ts +2 -0
  120. package/es/widgets/fields/input/index.js +4 -0
  121. package/es/widgets/fields/number/index.d.ts +2 -0
  122. package/es/widgets/fields/number/index.js +4 -0
  123. package/es/widgets/fields/percentSlider/index.d.ts +17 -0
  124. package/es/widgets/fields/percentSlider/index.js +82 -0
  125. package/es/widgets/fields/radio/index.d.ts +3 -0
  126. package/es/widgets/fields/radio/index.js +31 -0
  127. package/es/widgets/fields/rate/index.d.ts +2 -0
  128. package/es/widgets/fields/rate/index.js +4 -0
  129. package/es/widgets/fields/select/index.d.ts +2 -0
  130. package/es/widgets/fields/select/index.js +4 -0
  131. package/es/widgets/fields/slider/index.css +5 -0
  132. package/es/widgets/fields/slider/index.d.ts +7 -0
  133. package/es/widgets/fields/slider/index.js +58 -0
  134. package/es/widgets/fields/switch/index.d.ts +2 -0
  135. package/es/widgets/fields/switch/index.js +4 -0
  136. package/es/widgets/fields/textArea/index.d.ts +3 -0
  137. package/es/widgets/fields/textArea/index.js +14 -0
  138. package/es/widgets/fields/time/index.d.ts +3 -0
  139. package/es/widgets/fields/time/index.js +29 -0
  140. package/es/widgets/fields/timeRange/index.d.ts +9 -0
  141. package/es/widgets/fields/timeRange/index.js +48 -0
  142. package/es/widgets/fields/treeSelect/index.d.ts +2 -0
  143. package/es/widgets/fields/treeSelect/index.js +4 -0
  144. package/es/widgets/fields/upload/index.css +28 -0
  145. package/es/widgets/fields/upload/index.d.ts +13 -0
  146. package/es/widgets/fields/upload/index.js +57 -0
  147. package/es/widgets/fields/urlInput/index.d.ts +3 -0
  148. package/es/widgets/fields/urlInput/index.js +63 -0
  149. package/es/widgets/index.d.ts +33 -0
  150. package/es/widgets/index.js +33 -0
  151. package/es/widgets/listCard/index.css +20 -0
  152. package/es/widgets/listCard/index.d.ts +4 -0
  153. package/es/widgets/listCard/index.js +141 -0
  154. package/es/widgets/listDrawer/drawerForm.d.ts +3 -0
  155. package/es/widgets/listDrawer/drawerForm.js +40 -0
  156. package/es/widgets/listDrawer/index.css +16 -0
  157. package/es/widgets/listDrawer/index.d.ts +12 -0
  158. package/es/widgets/listDrawer/index.js +288 -0
  159. package/es/widgets/listSimple/index.css +27 -0
  160. package/es/widgets/listSimple/index.d.ts +4 -0
  161. package/es/widgets/listSimple/index.js +124 -0
  162. package/es/widgets/listTab/index.css +0 -0
  163. package/es/widgets/listTab/index.d.ts +13 -0
  164. package/es/widgets/listTab/index.js +113 -0
  165. package/es/widgets/listTable/index.css +28 -0
  166. package/es/widgets/listTable/index.d.ts +14 -0
  167. package/es/widgets/listTable/index.js +227 -0
  168. package/es/widgets/listTable/tableCell.d.ts +3 -0
  169. package/es/widgets/listTable/tableCell.js +62 -0
  170. package/es/widgets/listVirtual/index.css +28 -0
  171. package/es/widgets/listVirtual/index.d.ts +14 -0
  172. package/es/widgets/listVirtual/index.js +213 -0
  173. package/es/widgets/listVirtual/virtualCell.d.ts +3 -0
  174. package/es/widgets/listVirtual/virtualCell.js +61 -0
  175. package/es/widgets/utils/hooks.d.ts +2 -0
  176. package/es/widgets/utils/hooks.js +14 -0
  177. package/es/widgets/utils/index.d.ts +4 -0
  178. package/es/widgets/utils/index.js +80 -0
  179. package/es/widgets/utils/withFieldWrap.d.ts +3 -0
  180. package/es/widgets/utils/withFieldWrap.js +17 -0
  181. package/es/widgets/voidTitle/index.css +7 -0
  182. package/es/widgets/voidTitle/index.d.ts +6 -0
  183. package/es/widgets/voidTitle/index.js +13 -0
  184. package/es/withProvider.d.ts +3 -0
  185. package/es/withProvider.js +70 -0
  186. package/lib/derivative/SearchForm/ActionView.d.ts +3 -0
  187. package/lib/derivative/SearchForm/ActionView.js +81 -0
  188. package/lib/derivative/SearchForm/index.css +31 -0
  189. package/lib/derivative/SearchForm/index.d.ts +5 -0
  190. package/lib/derivative/SearchForm/index.js +302 -0
  191. package/lib/derivative/SlimRender/index.d.ts +3 -0
  192. package/lib/derivative/SlimRender/index.js +13 -0
  193. package/lib/form-core/connectForm.d.ts +3 -0
  194. package/lib/form-core/connectForm.js +21 -0
  195. package/lib/form-core/index.css +19 -0
  196. package/lib/form-core/index.d.ts +5 -0
  197. package/lib/form-core/index.js +313 -0
  198. package/lib/index.d.ts +10 -0
  199. package/lib/index.js +66 -0
  200. package/lib/locales/en_US.d.ts +28 -0
  201. package/lib/locales/en_US.js +33 -0
  202. package/lib/locales/index.d.ts +57 -0
  203. package/lib/locales/index.js +13 -0
  204. package/lib/locales/zh_CN.d.ts +28 -0
  205. package/lib/locales/zh_CN.js +33 -0
  206. package/lib/models/bindValues.d.ts +2 -0
  207. package/lib/models/bindValues.js +178 -0
  208. package/lib/models/context.d.ts +3 -0
  209. package/lib/models/context.js +9 -0
  210. package/lib/models/expression.d.ts +7 -0
  211. package/lib/models/expression.js +141 -0
  212. package/lib/models/fieldShouldUpdate.d.ts +2 -0
  213. package/lib/models/fieldShouldUpdate.js +76 -0
  214. package/lib/models/filterValuesHidden.d.ts +5 -0
  215. package/lib/models/filterValuesHidden.js +67 -0
  216. package/lib/models/filterValuesUndefined.d.ts +2 -0
  217. package/lib/models/filterValuesUndefined.js +53 -0
  218. package/lib/models/flattenSchema.d.ts +3 -0
  219. package/lib/models/flattenSchema.js +100 -0
  220. package/lib/models/formCoreUtils.d.ts +8 -0
  221. package/lib/models/formCoreUtils.js +199 -0
  222. package/lib/models/formDataSkeleton.d.ts +1 -0
  223. package/lib/models/formDataSkeleton.js +36 -0
  224. package/lib/models/layout.d.ts +4 -0
  225. package/lib/models/layout.js +94 -0
  226. package/lib/models/mapping.d.ts +89 -0
  227. package/lib/models/mapping.js +127 -0
  228. package/lib/models/sortProperties.d.ts +2 -0
  229. package/lib/models/sortProperties.js +47 -0
  230. package/lib/models/store.d.ts +10 -0
  231. package/lib/models/store.js +28 -0
  232. package/lib/models/transformProps.d.ts +34 -0
  233. package/lib/models/transformProps.js +86 -0
  234. package/lib/models/useForm.d.ts +3 -0
  235. package/lib/models/useForm.js +329 -0
  236. package/lib/models/validateMessage.d.ts +93 -0
  237. package/lib/models/validateMessage.js +101 -0
  238. package/lib/models/validates.d.ts +3 -0
  239. package/lib/models/validates.js +208 -0
  240. package/lib/render-core/FieldItem/field.d.ts +3 -0
  241. package/lib/render-core/FieldItem/field.js +90 -0
  242. package/lib/render-core/FieldItem/index.d.ts +3 -0
  243. package/lib/render-core/FieldItem/index.js +63 -0
  244. package/lib/render-core/FieldItem/main.d.ts +3 -0
  245. package/lib/render-core/FieldItem/main.js +236 -0
  246. package/lib/render-core/FieldItem/module.d.ts +18 -0
  247. package/lib/render-core/FieldItem/module.js +343 -0
  248. package/lib/render-core/FieldList/field.d.ts +3 -0
  249. package/lib/render-core/FieldList/field.js +309 -0
  250. package/lib/render-core/FieldList/index.d.ts +3 -0
  251. package/lib/render-core/FieldList/index.js +53 -0
  252. package/lib/render-core/FieldList/main.d.ts +3 -0
  253. package/lib/render-core/FieldList/main.js +108 -0
  254. package/lib/render-core/FieldList/modules.d.ts +7 -0
  255. package/lib/render-core/FieldList/modules.js +115 -0
  256. package/lib/render-core/index.css +29 -0
  257. package/lib/render-core/index.d.ts +9 -0
  258. package/lib/render-core/index.js +92 -0
  259. package/lib/type.d.ts +405 -0
  260. package/lib/type.js +7 -0
  261. package/lib/utils/index.d.ts +75 -0
  262. package/lib/utils/index.js +142 -0
  263. package/lib/widgets/ErrorSchema/index.d.ts +3 -0
  264. package/lib/widgets/ErrorSchema/index.js +23 -0
  265. package/lib/widgets/boxCollapse/index.css +53 -0
  266. package/lib/widgets/boxCollapse/index.d.ts +18 -0
  267. package/lib/widgets/boxCollapse/index.js +79 -0
  268. package/lib/widgets/boxLineTitle/index.css +18 -0
  269. package/lib/widgets/boxLineTitle/index.d.ts +8 -0
  270. package/lib/widgets/boxLineTitle/index.js +30 -0
  271. package/lib/widgets/boxSubInline/index.css +11 -0
  272. package/lib/widgets/boxSubInline/index.d.ts +4 -0
  273. package/lib/widgets/boxSubInline/index.js +63 -0
  274. package/lib/widgets/boxcard/index.css +17 -0
  275. package/lib/widgets/boxcard/index.d.ts +8 -0
  276. package/lib/widgets/boxcard/index.js +27 -0
  277. package/lib/widgets/components/DatePicker/index.d.ts +3 -0
  278. package/lib/widgets/components/DatePicker/index.js +22 -0
  279. package/lib/widgets/components/FButton/index.d.ts +3 -0
  280. package/lib/widgets/components/FButton/index.js +31 -0
  281. package/lib/widgets/components/HeaderTitle/index.css +0 -0
  282. package/lib/widgets/components/HeaderTitle/index.d.ts +4 -0
  283. package/lib/widgets/components/HeaderTitle/index.js +21 -0
  284. package/lib/widgets/components/PanelView/index.css +6 -0
  285. package/lib/widgets/components/PanelView/index.d.ts +4 -0
  286. package/lib/widgets/components/PanelView/index.js +20 -0
  287. package/lib/widgets/components/TimePicker/index.d.ts +2 -0
  288. package/lib/widgets/components/TimePicker/index.js +27 -0
  289. package/lib/widgets/fields/checkbox/index.d.ts +3 -0
  290. package/lib/widgets/fields/checkbox/index.js +22 -0
  291. package/lib/widgets/fields/checkboxes/index.d.ts +3 -0
  292. package/lib/widgets/fields/checkboxes/index.js +38 -0
  293. package/lib/widgets/fields/date/index.d.ts +3 -0
  294. package/lib/widgets/fields/date/index.js +54 -0
  295. package/lib/widgets/fields/dateRange/index.d.ts +7 -0
  296. package/lib/widgets/fields/dateRange/index.js +74 -0
  297. package/lib/widgets/fields/html/index.d.ts +2 -0
  298. package/lib/widgets/fields/html/index.js +60 -0
  299. package/lib/widgets/fields/imageInput/index.css +7 -0
  300. package/lib/widgets/fields/imageInput/index.d.ts +4 -0
  301. package/lib/widgets/fields/imageInput/index.js +47 -0
  302. package/lib/widgets/fields/input/index.d.ts +2 -0
  303. package/lib/widgets/fields/input/index.js +11 -0
  304. package/lib/widgets/fields/number/index.d.ts +2 -0
  305. package/lib/widgets/fields/number/index.js +11 -0
  306. package/lib/widgets/fields/percentSlider/index.d.ts +17 -0
  307. package/lib/widgets/fields/percentSlider/index.js +91 -0
  308. package/lib/widgets/fields/radio/index.d.ts +3 -0
  309. package/lib/widgets/fields/radio/index.js +38 -0
  310. package/lib/widgets/fields/rate/index.d.ts +2 -0
  311. package/lib/widgets/fields/rate/index.js +11 -0
  312. package/lib/widgets/fields/select/index.d.ts +2 -0
  313. package/lib/widgets/fields/select/index.js +11 -0
  314. package/lib/widgets/fields/slider/index.css +5 -0
  315. package/lib/widgets/fields/slider/index.d.ts +7 -0
  316. package/lib/widgets/fields/slider/index.js +66 -0
  317. package/lib/widgets/fields/switch/index.d.ts +2 -0
  318. package/lib/widgets/fields/switch/index.js +11 -0
  319. package/lib/widgets/fields/textArea/index.d.ts +3 -0
  320. package/lib/widgets/fields/textArea/index.js +21 -0
  321. package/lib/widgets/fields/time/index.d.ts +3 -0
  322. package/lib/widgets/fields/time/index.js +36 -0
  323. package/lib/widgets/fields/timeRange/index.d.ts +9 -0
  324. package/lib/widgets/fields/timeRange/index.js +54 -0
  325. package/lib/widgets/fields/treeSelect/index.d.ts +2 -0
  326. package/lib/widgets/fields/treeSelect/index.js +11 -0
  327. package/lib/widgets/fields/upload/index.css +28 -0
  328. package/lib/widgets/fields/upload/index.d.ts +13 -0
  329. package/lib/widgets/fields/upload/index.js +66 -0
  330. package/lib/widgets/fields/urlInput/index.d.ts +3 -0
  331. package/lib/widgets/fields/urlInput/index.js +72 -0
  332. package/lib/widgets/index.d.ts +33 -0
  333. package/lib/widgets/index.js +236 -0
  334. package/lib/widgets/listCard/index.css +20 -0
  335. package/lib/widgets/listCard/index.d.ts +4 -0
  336. package/lib/widgets/listCard/index.js +148 -0
  337. package/lib/widgets/listDrawer/drawerForm.d.ts +3 -0
  338. package/lib/widgets/listDrawer/drawerForm.js +49 -0
  339. package/lib/widgets/listDrawer/index.css +16 -0
  340. package/lib/widgets/listDrawer/index.d.ts +12 -0
  341. package/lib/widgets/listDrawer/index.js +296 -0
  342. package/lib/widgets/listSimple/index.css +27 -0
  343. package/lib/widgets/listSimple/index.d.ts +4 -0
  344. package/lib/widgets/listSimple/index.js +131 -0
  345. package/lib/widgets/listTab/index.css +0 -0
  346. package/lib/widgets/listTab/index.d.ts +13 -0
  347. package/lib/widgets/listTab/index.js +122 -0
  348. package/lib/widgets/listTable/index.css +28 -0
  349. package/lib/widgets/listTable/index.d.ts +14 -0
  350. package/lib/widgets/listTable/index.js +234 -0
  351. package/lib/widgets/listTable/tableCell.d.ts +3 -0
  352. package/lib/widgets/listTable/tableCell.js +71 -0
  353. package/lib/widgets/listVirtual/index.css +28 -0
  354. package/lib/widgets/listVirtual/index.d.ts +14 -0
  355. package/lib/widgets/listVirtual/index.js +220 -0
  356. package/lib/widgets/listVirtual/virtualCell.d.ts +3 -0
  357. package/lib/widgets/listVirtual/virtualCell.js +70 -0
  358. package/lib/widgets/utils/hooks.d.ts +2 -0
  359. package/lib/widgets/utils/hooks.js +21 -0
  360. package/lib/widgets/utils/index.d.ts +4 -0
  361. package/lib/widgets/utils/index.js +89 -0
  362. package/lib/widgets/utils/withFieldWrap.d.ts +3 -0
  363. package/lib/widgets/utils/withFieldWrap.js +24 -0
  364. package/lib/widgets/voidTitle/index.css +7 -0
  365. package/lib/widgets/voidTitle/index.d.ts +6 -0
  366. package/lib/widgets/voidTitle/index.js +20 -0
  367. package/lib/withProvider.d.ts +3 -0
  368. package/lib/withProvider.js +79 -0
  369. package/package.json +64 -0
package/lib/type.d.ts ADDED
@@ -0,0 +1,405 @@
1
+ import { RuleItem } from 'async-validator';
2
+ import * as React from 'react';
3
+ import type { FormInstance as AntdFormInstance, FormProps as AntdFormProps, ColProps, TooltipProps } from 'antd';
4
+ import type { ConfigProviderProps } from 'antd/es/config-provider';
5
+ import type { FormProps as RcFormProps } from 'rc-field-form/lib/Form';
6
+ export type { RuleItem } from 'async-validator';
7
+ export type SchemaType = 'string' | 'object' | 'array' | 'number' | 'boolean' | 'void' | 'date' | 'datetime' | 'block' | string;
8
+ export type ActionProps = {
9
+ submit: {
10
+ text?: string;
11
+ hide?: boolean;
12
+ [key: string]: any;
13
+ };
14
+ reset: {
15
+ text?: string;
16
+ hide?: boolean;
17
+ [key: string]: any;
18
+ };
19
+ };
20
+ export interface SchemaBase {
21
+ type?: SchemaType;
22
+ title?: string;
23
+ description?: string;
24
+ descType?: 'text' | 'icon';
25
+ format?: 'image' | 'textarea' | 'color' | 'email' | 'url' | 'dateTime' | 'date' | 'time' | 'upload' | (string & {});
26
+ default?: any;
27
+ /** 是否必填,支持 `'{{ formData.xxx === "" }}'` 形式的表达式 */
28
+ required?: boolean | string;
29
+ placeholder?: string;
30
+ bind?: false | string | string[];
31
+ dependencies?: string[];
32
+ /** 最小值,支持表达式 */
33
+ min?: number | string;
34
+ /** 最大值,支持表达式 */
35
+ max?: number | string;
36
+ /** 是否禁用,支持 `'{{ formData.xxx === "" }}'` 形式的表达式 */
37
+ disabled?: boolean | string;
38
+ /** 是否只读,支持 `'{{ formData.xxx === "" }}'` 形式的表达式 */
39
+ readOnly?: boolean | string;
40
+ /** 是否隐藏,隐藏的字段不会在 formData 里透出,支持 `'{{ formData.xxx === "" }}'` 形式的表达式 */
41
+ hidden?: boolean | string;
42
+ displayType?: 'row' | 'column' | string;
43
+ width?: string | number;
44
+ labelWidth?: number | string;
45
+ maxWidth?: number | string;
46
+ column?: number;
47
+ className?: string;
48
+ widget?: string;
49
+ readOnlyWidget?: string;
50
+ extra?: string;
51
+ properties?: Record<string, Schema>;
52
+ items?: Schema;
53
+ /** 多选,支持表达式 */
54
+ enum?: Array<string | number> | string;
55
+ /** 多选label,支持表达式 */
56
+ enumNames?: Array<string | number> | string;
57
+ rules?: RuleItem | RuleItem[];
58
+ props?: Record<string, any>;
59
+ /**扩展字段 */
60
+ 'add-widget'?: string;
61
+ labelCol?: number | ColProps;
62
+ fieldCol?: number | ColProps;
63
+ tooltip?: string | TooltipProps;
64
+ cellSpan?: number;
65
+ span?: number;
66
+ validateTrigger?: string | string[];
67
+ [key: string]: any;
68
+ }
69
+ export type Schema = Partial<SchemaBase>;
70
+ export interface Error {
71
+ /** 错误的数据路径 */
72
+ name: string;
73
+ /** 错误的内容 */
74
+ error: string[];
75
+ }
76
+ export interface FormParams {
77
+ formData?: any;
78
+ onChange?: (data: any) => void;
79
+ onValidate?: (valid: any) => void;
80
+ showValidate?: boolean;
81
+ /** 数据分析接口,表单展示完成渲染时触发 */
82
+ logOnMount?: (stats: any) => void;
83
+ /** 数据分析接口,表单提交成功时触发,获得本次表单填写的总时长 */
84
+ logOnSubmit?: (stats: any) => void;
85
+ }
86
+ export interface ValidateParams {
87
+ formData: any;
88
+ schema: Schema;
89
+ error: Error[];
90
+ [k: string]: any;
91
+ }
92
+ export interface ResetParams {
93
+ formData?: any;
94
+ submitData?: any;
95
+ errorFields?: Error[];
96
+ touchedKeys?: any[];
97
+ allTouched?: boolean;
98
+ [k: string]: any;
99
+ }
100
+ export interface FieldParams {
101
+ name: string;
102
+ error?: string[];
103
+ touched?: boolean;
104
+ validating?: boolean;
105
+ value?: any;
106
+ }
107
+ export interface ListOperate {
108
+ btnType: 'text' | 'icon';
109
+ hideMove: boolean;
110
+ }
111
+ export interface GlobalConfig {
112
+ listOperate: ListOperate;
113
+ /** 列表校验气泡模式*/
114
+ listValidatePopover: boolean;
115
+ mustacheDisabled: boolean;
116
+ }
117
+ export interface FormInstance {
118
+ submit: () => void;
119
+ /**
120
+ * 根据路径动态设置 Schema
121
+ */
122
+ setSchemaByPath: (path: string, schema: any) => any;
123
+ /**
124
+ * 获取隐藏的表单数据
125
+ */
126
+ getHiddenValues: () => any;
127
+ /**
128
+ * 设置 Schema
129
+ */
130
+ setSchema: (schema: any, cover?: boolean) => void;
131
+ /**
132
+ * 获取表单的 schema
133
+ */
134
+ getSchema: () => any;
135
+ /**
136
+ *
137
+ * 获取 flatten schema
138
+ */
139
+ getFlattenSchema: (path?: string) => any;
140
+ /**
141
+ * 根据路径获取 Schema
142
+ */
143
+ getSchemaByPath: (path: string) => any;
144
+ /**
145
+ * 外部手动修改 errorFields 校验信息
146
+ */
147
+ setErrorFields: (errors: any[]) => void;
148
+ /**
149
+ * 外部手动删除某一个 path 下所有的校验信息
150
+ */
151
+ removeErrorField: (path: string) => any;
152
+ /**
153
+ * 校验表单
154
+ */
155
+ validateFields: AntdFormInstance['validateFields'];
156
+ /**
157
+ * 获取对应字段 field 的错误信息
158
+ */
159
+ getFieldError: AntdFormInstance['getFieldError'];
160
+ /**
161
+ * 获取一组字段 fields 的错误信息
162
+ */
163
+ getFieldsError: AntdFormInstance['getFieldsError'];
164
+ /**
165
+ * 检查某个表单项是否被修改过
166
+ */
167
+ isFieldTouched: AntdFormInstance['isFieldTouched'];
168
+ /**
169
+ * 检查一组表单项是否被修改过
170
+ */
171
+ isFieldsTouched: AntdFormInstance['isFieldsTouched'];
172
+ /**
173
+ * 检查某个表单项是否在校验中
174
+ */
175
+ isFieldValidating: AntdFormInstance['isFieldValidating'];
176
+ /**
177
+ * 根据路径获取表单值
178
+ */
179
+ getValueByPath: AntdFormInstance['getFieldValue'];
180
+ /**
181
+ * 根据路径修改表单值
182
+ */
183
+ setValueByPath: AntdFormInstance['setFieldValue'];
184
+ /**
185
+ * 获取表单值
186
+ */
187
+ getValues: AntdFormInstance['getFieldsValue'];
188
+ /**
189
+ * 设置表单值
190
+ */
191
+ setValues: AntdFormInstance['setFieldsValue'];
192
+ /**
193
+ * 重置表单
194
+ */
195
+ resetFields: AntdFormInstance['resetFields'];
196
+ /**
197
+ * @deprecated 即将弃用,请勿使用此 api,使用 getFieldsError
198
+ */
199
+ errorFields: AntdFormInstance['getFieldsError'];
200
+ /**
201
+ * @deprecated 即将弃用,请勿使用此 api,使用 form.isFieldsValidating
202
+ */
203
+ scrollToPath: AntdFormInstance['scrollToField'];
204
+ /**
205
+ * @deprecated 即将弃用,请勿使用此 api,使用setValueByPath
206
+ */
207
+ onItemChange: AntdFormInstance['setFieldValue'];
208
+ /**
209
+ * @deprecated 即将弃用,请勿使用此 api
210
+ */
211
+ init: any;
212
+ /**
213
+ * @deprecated 即将弃用,请勿使用此 api,使用 getSchema 代替
214
+ */
215
+ __schema: any;
216
+ /**
217
+ * @deprecated 内部方法不要使用
218
+ */
219
+ __initStore: (data: any) => any;
220
+ /**
221
+ * 存储 field 的 ref 对象
222
+ */
223
+ setFieldRef: (path: string, ref: any) => void;
224
+ /**
225
+ * 获取 field 的 ref 对象
226
+ */
227
+ getFieldRef: (path: string) => any;
228
+ }
229
+ export type WatchProperties = {
230
+ [path: string]: {
231
+ handler: (value: any) => void;
232
+ immediate?: boolean;
233
+ } | ((value: any) => void);
234
+ };
235
+ export interface FRProps extends Omit<AntdFormProps, 'form'> {
236
+ /**
237
+ * 表单顶层的className
238
+ */
239
+ className?: string;
240
+ /**
241
+ * 表单顶层的样式
242
+ */
243
+ style?: React.CSSProperties;
244
+ /**
245
+ * 表单 schema
246
+ */
247
+ schema: Schema;
248
+ /**
249
+ * form单例
250
+ */
251
+ form: FormInstance;
252
+ /**
253
+ * 组件和schema的映射规则
254
+ */
255
+ mapping?: Record<string, string>;
256
+ /**
257
+ * 自定义组件
258
+ */
259
+ widgets?: Record<string, any>;
260
+ /**
261
+ * 标签元素和输入元素的排列方式,column-分两行展示,row-同行展示,inline-自然顺排,默认`column`
262
+ */
263
+ displayType?: 'column' | 'row' | 'inline';
264
+ /**
265
+ * 表示是否显示 label 后面的冒号
266
+ */
267
+ colon?: boolean;
268
+ /**
269
+ * label 标签的文本对齐方式
270
+ */
271
+ labelAlign?: 'right' | 'left';
272
+ fieldCol?: number | ColProps;
273
+ /**
274
+ * 只读模式
275
+ */
276
+ readOnly?: boolean;
277
+ /**
278
+ * 禁用模式
279
+ */
280
+ disabled?: boolean;
281
+ /**
282
+ * 标签宽度
283
+ */
284
+ labelWidth?: string | number;
285
+ /**
286
+ * antd的全局config
287
+ */
288
+ configProvider?: ConfigProviderProps;
289
+ /**
290
+ * 覆盖默认的校验信息
291
+ */
292
+ validateMessages?: RcFormProps['validateMessages'];
293
+ /**
294
+ * 显示当前表单内部状态
295
+ */
296
+ debug?: boolean;
297
+ /**
298
+ * 显示css布局提示线
299
+ */
300
+ debugCss?: boolean;
301
+ /**
302
+ * 展示语言,目前只支持中文、英文
303
+ */
304
+ locale?: 'zh-CN' | 'en-US';
305
+ /**
306
+ * 一行展示的列数
307
+ */
308
+ column?: number;
309
+ /**
310
+ * 数据会作为 beforeFinish 的第四个参数传入
311
+ */
312
+ config?: any;
313
+ /**
314
+ * 类似于 vuejs 的 watch 的用法,监控值的变化,触发 callback
315
+ */
316
+ watch?: WatchProperties;
317
+ globalConfig?: GlobalConfig;
318
+ /**
319
+ * 表单的全局共享属性
320
+ */
321
+ globalProps?: any;
322
+ /**
323
+ * 表单首次加载钩子
324
+ */
325
+ onMount?: () => void;
326
+ /**
327
+ * 表单提交前钩子
328
+ */
329
+ beforeFinish?: (params: ValidateParams) => Error[] | Promise<Error[]>;
330
+ /**
331
+ * 表单提交后钩子
332
+ */
333
+ onFinish?: (formData: any) => void;
334
+ /**
335
+ * 字段值更新时触发回调事件
336
+ */
337
+ onValuesChange?: (changedValues: {
338
+ dataPath: string;
339
+ value: any;
340
+ dataIndex: number[] | unknown;
341
+ }, formData: any) => void;
342
+ /**
343
+ * 隐藏的数据是否去掉,默认不去掉
344
+ */
345
+ removeHiddenData?: boolean;
346
+ /**
347
+ * 配置自定义layout组件
348
+ */
349
+ layoutWidgets?: any;
350
+ /**
351
+ * 扩展方法
352
+ */
353
+ methods?: Record<string, Function>;
354
+ operateExtra?: React.ReactNode;
355
+ maxWidth?: number | string;
356
+ footer?: boolean | ((dom: React.JSX.Element[]) => React.ReactNode) | Partial<ActionProps>;
357
+ }
358
+ export interface SearchProps<RecordType> extends Omit<FRProps, 'form'> {
359
+ debug?: boolean;
360
+ searchBtnStyle?: React.CSSProperties;
361
+ searchBtnClassName?: string;
362
+ displayType?: any;
363
+ propsSchema?: any;
364
+ className?: string;
365
+ style?: React.CSSProperties;
366
+ hidden?: boolean;
367
+ searchOnMount?: boolean | unknown;
368
+ searchWithError?: boolean;
369
+ searchBtnRender?: (submit: Function, clearSearch: Function, other: any) => React.ReactNode[];
370
+ searchText?: string;
371
+ resetText?: string;
372
+ onSearch?: (search: any) => any;
373
+ afterSearch?: (params: any) => any;
374
+ onReset?: (form: any) => void;
375
+ widgets?: any;
376
+ form?: any;
377
+ [key: string]: any;
378
+ }
379
+ /** 自定义组件 props */
380
+ export type WidgetProps = {
381
+ value: any;
382
+ onChange: (value: any) => void;
383
+ schema: Schema;
384
+ style: React.CSSProperties;
385
+ id: string;
386
+ addons: WidgetAddonsType;
387
+ disabled?: boolean;
388
+ readOnly?: boolean;
389
+ [other: string]: any;
390
+ };
391
+ /** 自定义组件 addons */
392
+ export type WidgetAddonsType = FormInstance & {
393
+ globalProps: Record<string, any>;
394
+ dependValues: any[];
395
+ dataIndex: string[];
396
+ dataPath: string;
397
+ schemaPath: string;
398
+ };
399
+ declare const FR: React.FC<FRProps>;
400
+ export declare function useForm(params?: FormParams): FormInstance;
401
+ export type ConnectedForm<T> = T & {
402
+ form: FormInstance;
403
+ };
404
+ export declare function connectForm<T extends {} = any>(component: React.ComponentType<ConnectedForm<T>>): React.ComponentType<T>;
405
+ export default FR;
package/lib/type.js ADDED
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _default = exports.default = FR;
@@ -0,0 +1,75 @@
1
+ import { has as _has } from 'lodash-es';
2
+ export declare const _set: {
3
+ <T extends object>(object: T, path: import("lodash").PropertyPath, value: any): T;
4
+ <TResult>(object: object, path: import("lodash").PropertyPath, value: any): TResult;
5
+ };
6
+ export declare const _get: {
7
+ <TObject extends object, TKey extends keyof TObject>(object: TObject, path: TKey | [TKey]): TObject[TKey];
8
+ <TObject_1 extends object, TKey_1 extends keyof TObject_1>(object: TObject_1, path: TKey_1 | [TKey_1]): TObject_1[TKey_1];
9
+ <TObject_2 extends object, TKey_2 extends keyof TObject_2, TDefault>(object: TObject_2, path: TKey_2 | [TKey_2], defaultValue: TDefault): TDefault | Exclude<TObject_2[TKey_2], undefined>;
10
+ <TObject_3 extends object, TKey1 extends keyof TObject_3, TKey2 extends keyof TObject_3[TKey1]>(object: TObject_3, path: [TKey1, TKey2]): TObject_3[TKey1][TKey2];
11
+ <TObject_4 extends object, TKey1_1 extends keyof TObject_4, TKey2_1 extends keyof NonNullable<TObject_4[TKey1_1]>>(object: TObject_4, path: [TKey1_1, TKey2_1]): NonNullable<TObject_4[TKey1_1]>[TKey2_1];
12
+ <TObject_5 extends object, TKey1_2 extends keyof TObject_5, TKey2_2 extends keyof NonNullable<TObject_5[TKey1_2]>, TDefault_1>(object: TObject_5, path: [TKey1_2, TKey2_2], defaultValue: TDefault_1): TDefault_1 | Exclude<NonNullable<TObject_5[TKey1_2]>[TKey2_2], undefined>;
13
+ <TObject_6 extends object, TKey1_3 extends keyof TObject_6, TKey2_3 extends keyof TObject_6[TKey1_3], TKey3 extends keyof TObject_6[TKey1_3][TKey2_3]>(object: TObject_6, path: [TKey1_3, TKey2_3, TKey3]): TObject_6[TKey1_3][TKey2_3][TKey3];
14
+ <TObject_7 extends object, TKey1_4 extends keyof TObject_7, TKey2_4 extends keyof NonNullable<TObject_7[TKey1_4]>, TKey3_1 extends keyof NonNullable<NonNullable<TObject_7[TKey1_4]>[TKey2_4]>>(object: TObject_7, path: [TKey1_4, TKey2_4, TKey3_1]): NonNullable<NonNullable<TObject_7[TKey1_4]>[TKey2_4]>[TKey3_1];
15
+ <TObject_8 extends object, TKey1_5 extends keyof TObject_8, TKey2_5 extends keyof NonNullable<TObject_8[TKey1_5]>, TKey3_2 extends keyof NonNullable<NonNullable<TObject_8[TKey1_5]>[TKey2_5]>, TDefault_2>(object: TObject_8, path: [TKey1_5, TKey2_5, TKey3_2], defaultValue: TDefault_2): TDefault_2 | Exclude<NonNullable<NonNullable<TObject_8[TKey1_5]>[TKey2_5]>[TKey3_2], undefined>;
16
+ <TObject_9 extends object, TKey1_6 extends keyof TObject_9, TKey2_6 extends keyof TObject_9[TKey1_6], TKey3_3 extends keyof TObject_9[TKey1_6][TKey2_6], TKey4 extends keyof TObject_9[TKey1_6][TKey2_6][TKey3_3]>(object: TObject_9, path: [TKey1_6, TKey2_6, TKey3_3, TKey4]): TObject_9[TKey1_6][TKey2_6][TKey3_3][TKey4];
17
+ <TObject_10 extends object, TKey1_7 extends keyof TObject_10, TKey2_7 extends keyof NonNullable<TObject_10[TKey1_7]>, TKey3_4 extends keyof NonNullable<NonNullable<TObject_10[TKey1_7]>[TKey2_7]>, TKey4_1 extends keyof NonNullable<NonNullable<NonNullable<TObject_10[TKey1_7]>[TKey2_7]>[TKey3_4]>>(object: TObject_10, path: [TKey1_7, TKey2_7, TKey3_4, TKey4_1]): NonNullable<NonNullable<NonNullable<TObject_10[TKey1_7]>[TKey2_7]>[TKey3_4]>[TKey4_1];
18
+ <TObject_11 extends object, TKey1_8 extends keyof TObject_11, TKey2_8 extends keyof NonNullable<TObject_11[TKey1_8]>, TKey3_5 extends keyof NonNullable<NonNullable<TObject_11[TKey1_8]>[TKey2_8]>, TKey4_2 extends keyof NonNullable<NonNullable<NonNullable<TObject_11[TKey1_8]>[TKey2_8]>[TKey3_5]>, TDefault_3>(object: TObject_11, path: [TKey1_8, TKey2_8, TKey3_5, TKey4_2], defaultValue: TDefault_3): TDefault_3 | Exclude<NonNullable<NonNullable<NonNullable<TObject_11[TKey1_8]>[TKey2_8]>[TKey3_5]>[TKey4_2], undefined>;
19
+ <T>(object: import("lodash").NumericDictionary<T>, path: number): T;
20
+ <T_1>(object: import("lodash").NumericDictionary<T_1>, path: number): T_1;
21
+ <T_2, TDefault_4>(object: import("lodash").NumericDictionary<T_2>, path: number, defaultValue: TDefault_4): T_2 | TDefault_4;
22
+ <TDefault_5>(object: null, path: import("lodash").PropertyPath, defaultValue: TDefault_5): TDefault_5;
23
+ (object: null, path: import("lodash").PropertyPath): undefined;
24
+ <TObject_12, TPath extends string>(data: TObject_12, path: TPath): string extends TPath ? any : import("lodash").GetFieldType<TObject_12, TPath, "Path">;
25
+ <TObject_13, TPath_1 extends string, TDefault_6 = import("lodash").GetFieldType<TObject_13, TPath_1, "Path">>(data: TObject_13, path: TPath_1, defaultValue: TDefault_6): TDefault_6 | Exclude<import("lodash").GetFieldType<TObject_13, TPath_1, "Path">, null>;
26
+ (object: any, path: import("lodash").PropertyPath, defaultValue?: any): any;
27
+ };
28
+ export declare const _cloneDeep: <T>(value: T) => T;
29
+ export { _has };
30
+ export declare const _merge: {
31
+ <TObject, TSource>(object: TObject, source: TSource): TObject & TSource;
32
+ <TObject_1, TSource1, TSource2>(object: TObject_1, source1: TSource1, source2: TSource2): TObject_1 & TSource1 & TSource2;
33
+ <TObject_2, TSource1_1, TSource2_1, TSource3>(object: TObject_2, source1: TSource1_1, source2: TSource2_1, source3: TSource3): TObject_2 & TSource1_1 & TSource2_1 & TSource3;
34
+ <TObject_3, TSource1_2, TSource2_2, TSource3_1, TSource4>(object: TObject_3, source1: TSource1_2, source2: TSource2_2, source3: TSource3_1, source4: TSource4): TObject_3 & TSource1_2 & TSource2_2 & TSource3_1 & TSource4;
35
+ (object: any, ...otherArgs: any[]): any;
36
+ };
37
+ export declare const _mergeWith: {
38
+ <TObject, TSource>(object: TObject, source: TSource, customizer: (value: any, srcValue: any, key: string, object: any, source: any, stack: any) => any): TObject & TSource;
39
+ <TObject_1, TSource1, TSource2>(object: TObject_1, source1: TSource1, source2: TSource2, customizer: (value: any, srcValue: any, key: string, object: any, source: any, stack: any) => any): TObject_1 & TSource1 & TSource2;
40
+ <TObject_2, TSource1_1, TSource2_1, TSource3>(object: TObject_2, source1: TSource1_1, source2: TSource2_1, source3: TSource3, customizer: (value: any, srcValue: any, key: string, object: any, source: any, stack: any) => any): TObject_2 & TSource1_1 & TSource2_1 & TSource3;
41
+ <TObject_3, TSource1_2, TSource2_2, TSource3_1, TSource4>(object: TObject_3, source1: TSource1_2, source2: TSource2_2, source3: TSource3_1, source4: TSource4, customizer: (value: any, srcValue: any, key: string, object: any, source: any, stack: any) => any): TObject_3 & TSource1_2 & TSource2_2 & TSource3_1 & TSource4;
42
+ (object: any, ...otherArgs: any[]): any;
43
+ };
44
+ export declare const _isUndefined: (value: any) => value is undefined;
45
+ export declare const _omitBy: {
46
+ <T>(object: import("lodash").Dictionary<T>, predicate?: import("lodash").ValueKeyIteratee<T>): import("lodash").Dictionary<T>;
47
+ <T_1>(object: import("lodash").NumericDictionary<T_1>, predicate?: import("lodash").ValueKeyIteratee<T_1>): import("lodash").NumericDictionary<T_1>;
48
+ <T_2 extends object>(object: T_2, predicate: import("lodash").ValueKeyIteratee<T_2[keyof T_2]>): Partial<T_2>;
49
+ };
50
+ export declare const _some: {
51
+ <T>(collection: import("lodash").List<T>, predicate?: import("lodash").ListIterateeCustom<T, boolean>): boolean;
52
+ <T_1 extends object>(collection: T_1, predicate?: import("lodash").ObjectIterateeCustom<T_1, boolean>): boolean;
53
+ };
54
+ export declare const _isMatch: (object: object, source: object) => boolean;
55
+ export declare const isObject: (data: any) => boolean;
56
+ export declare const isArray: (data: any) => boolean;
57
+ export declare const isFunction: (data: any) => boolean;
58
+ export declare function isUrl(string: string): boolean;
59
+ export declare const isNumber: (str: string | number) => boolean;
60
+ export declare const getArray: (arr: any, defaultValue?: any[]) => any[];
61
+ export declare function getFormat(format: any): any;
62
+ export declare function isObjType(schema: any): boolean;
63
+ export declare function isListType(schema: any): boolean;
64
+ export declare function isCheckBoxType(schema: any, readOnly: boolean): boolean;
65
+ export declare const translation: (configCtx: any) => (key: string) => any;
66
+ export declare const hasFuncProperty: (obj: any) => any;
67
+ /**
68
+ * 安全地获取对象的值,如果值为 null 或 undefined,则返回 defaultValue。
69
+ *
70
+ * @param {Object} object - 要获取值的对象。
71
+ * @param {string|Array} path - 要获取的路径,可以是字符串或数组。
72
+ * @param {*} [defaultValue] - 如果值为 null 或 undefined,则返回 defaultValue。
73
+ * @returns {*} - 返回获取的值,或者默认值。
74
+ */
75
+ export declare const safeGet: (object: any, path: string, defaultValue: any) => any;
@@ -0,0 +1,142 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports._get = exports._cloneDeep = void 0;
7
+ Object.defineProperty(exports, "_has", {
8
+ enumerable: true,
9
+ get: function get() {
10
+ return _lodashEs.has;
11
+ }
12
+ });
13
+ exports.getArray = exports._some = exports._set = exports._omitBy = exports._mergeWith = exports._merge = exports._isUndefined = exports._isMatch = void 0;
14
+ exports.getFormat = getFormat;
15
+ exports.isArray = exports.hasFuncProperty = void 0;
16
+ exports.isCheckBoxType = isCheckBoxType;
17
+ exports.isFunction = void 0;
18
+ exports.isListType = isListType;
19
+ exports.isNumber = void 0;
20
+ exports.isObjType = isObjType;
21
+ exports.isObject = void 0;
22
+ exports.isUrl = isUrl;
23
+ exports.translation = exports.safeGet = void 0;
24
+ var _lodashEs = require("lodash-es");
25
+ var _set = exports._set = _lodashEs.set;
26
+ var _get = exports._get = _lodashEs.get;
27
+ var _cloneDeep = exports._cloneDeep = _lodashEs.cloneDeep;
28
+ // export const _has = has;
29
+
30
+ var _merge = exports._merge = _lodashEs.merge;
31
+ var _mergeWith = exports._mergeWith = _lodashEs.mergeWith;
32
+ var _isUndefined = exports._isUndefined = _lodashEs.isUndefined;
33
+ var _omitBy = exports._omitBy = _lodashEs.omitBy;
34
+ var _some = exports._some = _lodashEs.some;
35
+ var _isMatch = exports._isMatch = _lodashEs.isMatch;
36
+ var isObject = exports.isObject = function isObject(data) {
37
+ var str = Object.prototype.toString.call(data);
38
+ return str.indexOf('Object') > -1;
39
+ };
40
+ var isArray = exports.isArray = function isArray(data) {
41
+ var str = Object.prototype.toString.call(data);
42
+ return str.indexOf('Array') > -1;
43
+ };
44
+ var isFunction = exports.isFunction = function isFunction(data) {
45
+ return typeof data === 'function';
46
+ };
47
+ function isUrl(string) {
48
+ var protocolRE = /^(?:\w+:)?\/\/(\S+)$/;
49
+ // const domainRE = /^[^\s\.]+\.\S{2,}$/;
50
+ if (typeof string !== 'string') return false;
51
+ return protocolRE.test(string);
52
+ }
53
+ var isNumber = exports.isNumber = function isNumber(str) {
54
+ return !isNaN(Number(str));
55
+ };
56
+ var getArray = exports.getArray = function getArray(arr) {
57
+ var defaultValue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
58
+ if (Array.isArray(arr)) return arr;
59
+ return defaultValue;
60
+ };
61
+ function getFormat(format) {
62
+ var dateFormat;
63
+ switch (format) {
64
+ case 'date':
65
+ dateFormat = 'YYYY-MM-DD';
66
+ break;
67
+ case 'time':
68
+ dateFormat = 'HH:mm:ss';
69
+ break;
70
+ case 'dateTime':
71
+ dateFormat = 'YYYY-MM-DD HH:mm:ss';
72
+ break;
73
+ case 'week':
74
+ dateFormat = 'YYYY-w';
75
+ break;
76
+ case 'year':
77
+ dateFormat = 'YYYY';
78
+ break;
79
+ case 'quarter':
80
+ dateFormat = 'YYYY-Q';
81
+ break;
82
+ case 'month':
83
+ dateFormat = 'YYYY-MM';
84
+ break;
85
+ default:
86
+ // dateTime
87
+ if (typeof format === 'string') {
88
+ dateFormat = format;
89
+ } else {
90
+ dateFormat = 'YYYY-MM-DD';
91
+ }
92
+ }
93
+ return dateFormat;
94
+ }
95
+ // TODO: to support case that item is not an object
96
+ function isObjType(schema) {
97
+ //return schema?.type === 'object' && schema.properties && !schema.widget;
98
+ return (schema === null || schema === void 0 ? void 0 : schema.type) === 'object' && (schema === null || schema === void 0 ? void 0 : schema.properties) && (schema === null || schema === void 0 ? void 0 : schema.widgetType) !== 'field';
99
+ }
100
+ ;
101
+ function isListType(schema) {
102
+ return (schema === null || schema === void 0 ? void 0 : schema.type) === 'array' && isObjType(schema === null || schema === void 0 ? void 0 : schema.items) && (schema === null || schema === void 0 ? void 0 : schema.enum) === undefined;
103
+ }
104
+ ;
105
+ function isCheckBoxType(schema, readOnly) {
106
+ if (readOnly) return false;
107
+ if (schema.widget === 'checkbox') return true;
108
+ if (schema && schema.type === 'boolean') {
109
+ if (schema.enum) return false;
110
+ if (schema.widget === undefined) return true;
111
+ return false;
112
+ }
113
+ }
114
+ var translation = exports.translation = function translation(configCtx) {
115
+ return function (key) {
116
+ var locale = configCtx === null || configCtx === void 0 ? void 0 : configCtx.locale.FormRender;
117
+ return locale[key];
118
+ };
119
+ };
120
+ var _hasFuncProperty = exports.hasFuncProperty = function hasFuncProperty(obj) {
121
+ return _some(obj, function (value) {
122
+ if (isFunction(value)) {
123
+ return true;
124
+ }
125
+ if (isObject(value)) {
126
+ return _hasFuncProperty(value);
127
+ }
128
+ return false;
129
+ });
130
+ };
131
+ /**
132
+ * 安全地获取对象的值,如果值为 null 或 undefined,则返回 defaultValue。
133
+ *
134
+ * @param {Object} object - 要获取值的对象。
135
+ * @param {string|Array} path - 要获取的路径,可以是字符串或数组。
136
+ * @param {*} [defaultValue] - 如果值为 null 或 undefined,则返回 defaultValue。
137
+ * @returns {*} - 返回获取的值,或者默认值。
138
+ */
139
+ var safeGet = exports.safeGet = function safeGet(object, path, defaultValue) {
140
+ var _a;
141
+ return (_a = (0, _lodashEs.get)(object, path, defaultValue)) !== null && _a !== void 0 ? _a : defaultValue;
142
+ };
@@ -0,0 +1,3 @@
1
+ import React from "react";
2
+ declare const ErrorSchema: (schema: any) => React.JSX.Element;
3
+ export default ErrorSchema;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+
3
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ require("antd/es/config-provider/style");
9
+ var _configProvider = _interopRequireDefault(require("antd/es/config-provider"));
10
+ var _react = _interopRequireWildcard(require("react"));
11
+ var _utils = require("../utils");
12
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
13
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
14
+ var ErrorSchema = function ErrorSchema(schema) {
15
+ var configCtx = (0, _react.useContext)(_configProvider.default.ConfigContext);
16
+ var t = (0, _utils.translation)(configCtx);
17
+ return /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("div", {
18
+ style: {
19
+ color: 'red'
20
+ }
21
+ }, t('schema_not_match')), /*#__PURE__*/_react.default.createElement("div", null, JSON.stringify(schema)));
22
+ };
23
+ var _default = exports.default = ErrorSchema;