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/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2019-present XRender Team
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,126 @@
1
+ <div style="display:flex;align-items:center;margin-bottom:24px">
2
+ <img src="https://img.alicdn.com/tfs/TB17UtINiLaK1RjSZFxXXamPFXa-606-643.png" alt="logo" width="48px"/>
3
+ <h4 style="font-size:30px;font-weight:600;display:inline-block;margin-left:12px">FormRender</h4>
4
+ </div>
5
+ <p style="display:flex;justify-content:space-between;width:440px">
6
+ <a href="https://www.npmjs.com/package/form-render?_blank">
7
+ <img alt="npm" src="https://img.shields.io/npm/v/form-render.svg?maxAge=3600&style=flat-square">
8
+ </a>
9
+ <a href="https://npmjs.org/package/form-render">
10
+ <img alt="NPM downloads" src="https://img.shields.io/npm/dm/form-render.svg?style=flat-square">
11
+ </a>
12
+ <a href="https://npmjs.org/package/form-render">
13
+ <img alt="NPM all downloads" src="https://img.shields.io/npm/dt/form-render.svg?style=flat-square">
14
+ </a>
15
+ <a>
16
+ <img alt="PRs Welcome" src="https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square">
17
+ </a>
18
+ </p>
19
+
20
+ > 一站式中后台**表单解决方案**
21
+
22
+ ## 官网
23
+
24
+ <https://xrender.fun/form-render>
25
+
26
+ FormRender 是中后台开箱即用的表单解决方案,通过 JsonSchema 协议动态渲染表单。为了能切实承接日益复杂的表单场景需求,2.0 我们进行了底层重构。我们的目标是以强大的扩展能力对表单场景 100% 的覆盖支持,同时保持开发者能快速上手,并以表单编辑器、插件、自定义组件等一系列周边产品带来极致的开发体验。在开发 1.0 的道路上,我们做了一系列的取舍,详见[v2 升级方案](https://xrender.fun/form-render/migrate)
27
+
28
+ ## 安装
29
+
30
+ FormRender 依赖 ant design,单独使用不要忘记同时安装 `antd`
31
+
32
+ ```shell
33
+ npm i form-render --save
34
+ ```
35
+
36
+ ## 使用
37
+
38
+ **最简使用 demo:**
39
+
40
+ ```jsx
41
+ import React from 'react';
42
+ import { Button } from 'antd';
43
+ import FormRender, { connectForm } from 'form-render';
44
+
45
+ const schema = {
46
+ type: 'object',
47
+ properties: {
48
+ input1: {
49
+ title: '简单输入框',
50
+ type: 'string',
51
+ required: true,
52
+ },
53
+ select1: {
54
+ title: '单选',
55
+ type: 'string',
56
+ props: {
57
+ options: [
58
+ { label: '早', value: 'a' },
59
+ { label: '中', value: 'b' },
60
+ { label: '晚', value: 'c' }
61
+ ]
62
+ }
63
+ },
64
+ },
65
+ };
66
+
67
+ class Demo extends React.Component {
68
+ render() {
69
+ const { form } = this.props;
70
+ return (
71
+ <div>
72
+ <FormRender form={form} schema={schema} />
73
+ <Button type="primary" onClick={form.submit}>
74
+ 提交
75
+ </Button>
76
+ </div>
77
+ );
78
+ }
79
+ }
80
+
81
+ export default connectForm(Demo);
82
+ ```
83
+
84
+ **对于函数组件,FormRender 提供了 `useForm` hooks, 书写更为灵活**
85
+
86
+ ```jsx
87
+ import React from 'react';
88
+ import { Button } from 'antd';
89
+ import FormRender, { useForm } from 'form-render';
90
+
91
+ const schema = {
92
+ type: 'object',
93
+ properties: {
94
+ input1: {
95
+ title: '简单输入框',
96
+ type: 'string',
97
+ required: true,
98
+ },
99
+ select1: {
100
+ title: '单选',
101
+ type: 'string',
102
+ props: {
103
+ options: [
104
+ { label: '早', value: 'a' },
105
+ { label: '中', value: 'b' },
106
+ { label: '晚', value: 'c' }
107
+ ]
108
+ }
109
+ }
110
+ }
111
+ };
112
+
113
+ const Demo = () => {
114
+ const form = useForm();
115
+ return (
116
+ <div>
117
+ <FormRender form={form} schema={schema} />
118
+ <Button type="primary" onClick={form.submit}>
119
+ 提交
120
+ </Button>
121
+ </div>
122
+ );
123
+ };
124
+
125
+ export default Demo;
126
+ ```
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ declare const ActionView: (props: any) => React.JSX.Element;
3
+ export default ActionView;
@@ -0,0 +1,72 @@
1
+ import _DownOutlined from "@ant-design/icons/es/icons/DownOutlined";
2
+ import _UpOutlined from "@ant-design/icons/es/icons/UpOutlined";
3
+ import "antd/es/button/style";
4
+ import _Button from "antd/es/button";
5
+ import "antd/es/space/style";
6
+ import _Space from "antd/es/space";
7
+ import "antd/es/config-provider/style";
8
+ import _ConfigProvider from "antd/es/config-provider";
9
+ import React, { useContext } from 'react';
10
+ import { translation } from '../../utils';
11
+ var ActionView = function ActionView(props) {
12
+ var onReset = props.onReset,
13
+ searchBtnRender = props.searchBtnRender,
14
+ style = props.style,
15
+ className = props.className,
16
+ form = props.form,
17
+ searchText = props.searchText,
18
+ resetText = props.resetText,
19
+ hasCollapse = props.hasCollapse,
20
+ setLimitHeight = props.setLimitHeight,
21
+ setExpand = props.setExpand,
22
+ isExpand = props.isExpand,
23
+ loading = props.loading,
24
+ retainBtn = props.retainBtn,
25
+ mode = props.mode;
26
+ var configCtx = useContext(_ConfigProvider.ConfigContext);
27
+ var t = translation(configCtx);
28
+ var handleReset = function handleReset() {
29
+ if (onReset) {
30
+ onReset(form);
31
+ return;
32
+ }
33
+ form.resetFields();
34
+ form.submit();
35
+ };
36
+ var handleCollapse = function handleCollapse() {
37
+ setExpand(!isExpand);
38
+ };
39
+ var searchBtnArr = typeof searchBtnRender === 'function' ? searchBtnRender(form.submit, handleReset, {
40
+ loading: loading
41
+ }) : [];
42
+ if (searchBtnRender) {
43
+ return /*#__PURE__*/React.createElement("div", {
44
+ className: 'flex justify-end w-100'
45
+ }, Array.isArray(searchBtnArr) && searchBtnArr.map(function (ui, idx) {
46
+ return /*#__PURE__*/React.createElement("div", {
47
+ key: idx.toString(),
48
+ style: {
49
+ marginLeft: 8
50
+ }
51
+ }, ui);
52
+ }));
53
+ }
54
+ var submitShow = mode === 'simple' && (typeof retainBtn === 'boolean' || (retainBtn === null || retainBtn === void 0 ? void 0 : retainBtn.includes('submit'))) || mode !== 'simple';
55
+ var resetShow = mode === 'simple' && (typeof retainBtn === 'boolean' || (retainBtn === null || retainBtn === void 0 ? void 0 : retainBtn.includes('reset'))) || mode !== 'simple';
56
+ return /*#__PURE__*/React.createElement("div", {
57
+ className: "flex justify-end w-100 ".concat(className || ''),
58
+ style: style
59
+ }, /*#__PURE__*/React.createElement(_Space, null, submitShow && /*#__PURE__*/React.createElement(_Button, {
60
+ loading: loading,
61
+ type: 'primary',
62
+ onClick: form.submit
63
+ }, searchText), resetShow && /*#__PURE__*/React.createElement(_Button, {
64
+ onClick: handleReset
65
+ }, resetText), hasCollapse && (/*#__PURE__*/React.createElement("a", {
66
+ onClick: handleCollapse,
67
+ style: {
68
+ cursor: 'pointer'
69
+ }
70
+ }, isExpand ? (/*#__PURE__*/React.createElement(React.Fragment, null, t('fold'), /*#__PURE__*/React.createElement(_UpOutlined, null))) : (/*#__PURE__*/React.createElement(React.Fragment, null, t('expand'), /*#__PURE__*/React.createElement(_DownOutlined, null)))))));
71
+ };
72
+ export default ActionView;
@@ -0,0 +1,31 @@
1
+ .fr-search {
2
+ width: 100%;
3
+ background: #fff;
4
+ padding: 24px 24px 0 16px;
5
+ margin-bottom: 16px;
6
+ box-sizing: border-box;
7
+ position: relative;
8
+ }
9
+ .fr-search .search-action-col {
10
+ flex: 1;
11
+ display: flex;
12
+ justify-content: flex-end;
13
+ align-items: baseline;
14
+ height: 56px;
15
+ }
16
+ .fr-search .search-action-fixed {
17
+ position: absolute;
18
+ right: 0;
19
+ bottom: 0;
20
+ background-color: #fff;
21
+ padding-right: 24px !important;
22
+ }
23
+ .fr-search .search-action-column {
24
+ height: auto;
25
+ }
26
+ .fr-search .fr-form > .ant-row {
27
+ align-items: center;
28
+ }
29
+ .fr-column-search {
30
+ padding-left: 24px;
31
+ }
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ import './index.less';
3
+ import { SearchProps } from '../../type';
4
+ declare const _default: React.ComponentType<SearchProps<object>>;
5
+ export default _default;
@@ -0,0 +1,294 @@
1
+ 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); }
2
+ import "antd/es/col/style";
3
+ import _Col from "antd/es/col";
4
+ import "antd/es/config-provider/style";
5
+ import _ConfigProvider from "antd/es/config-provider";
6
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
7
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
8
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
9
+ function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i.return) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
10
+ function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); }
11
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
12
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
13
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
14
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
15
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
16
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
17
+ import { __awaiter, __rest } from "tslib";
18
+ import React, { useContext, useMemo, useRef } from 'react';
19
+ import { useUpdateEffect, useMount, useSetState } from 'ahooks';
20
+ import classnames from 'classnames';
21
+ import { debounce } from 'lodash-es';
22
+ import FormRender from '../../form-core';
23
+ import { translation } from '../../utils';
24
+ import withProvider from '../../withProvider';
25
+ import ActionView from './ActionView';
26
+ import { Input, InputNumber, TextArea, Select, MultiSelect, Checkbox, Checkboxes, Radio, DatePicker, DateRange, TimePicker, TimeRange, Slider, Switch, TreeSelect, UrlInput, ImageInput, Html, PercentSlider } from '../../widgets';
27
+ import "./index.css";
28
+ var getIsColumn = function getIsColumn(isColumn, obj, column) {
29
+ var count = 0;
30
+ Object.keys(obj || {}).forEach(function (key) {
31
+ var item = obj[key];
32
+ if (item.visible === undefined) {
33
+ count += 1;
34
+ }
35
+ });
36
+ return isColumn && count % column !== 0;
37
+ };
38
+ var SearchForm = function SearchForm(props) {
39
+ if (props.hidden) {
40
+ return null;
41
+ }
42
+ var configCtx = useContext(_ConfigProvider.ConfigContext);
43
+ var t = translation(configCtx);
44
+ var className = props.className,
45
+ style = props.style,
46
+ mode = props.mode,
47
+ _props$layoutAuto = props.layoutAuto,
48
+ layoutAuto = _props$layoutAuto === void 0 ? false : _props$layoutAuto,
49
+ form = props.form,
50
+ hidden = props.hidden,
51
+ loading = props.loading,
52
+ _props$column = props.column,
53
+ _column = _props$column === void 0 ? 4 : _props$column,
54
+ collapsed = props.collapsed,
55
+ _props$defaultCollaps = props.defaultCollapsed,
56
+ defaultCollapsed = _props$defaultCollaps === void 0 ? true : _props$defaultCollaps,
57
+ schema = props.schema,
58
+ retainBtn = props.retainBtn,
59
+ closeReturnSearch = props.closeReturnSearch,
60
+ resetAfter = props.resetAfter,
61
+ searchBtnStyle = props.searchBtnStyle,
62
+ searchBtnClassName = props.searchBtnClassName,
63
+ _props$searchText = props.searchText,
64
+ searchText = _props$searchText === void 0 ? t('search') : _props$searchText,
65
+ _props$resetText = props.resetText,
66
+ resetText = _props$resetText === void 0 ? t('reset') : _props$resetText,
67
+ _props$searchWithErro = props.searchWithError,
68
+ searchWithError = _props$searchWithErro === void 0 ? true : _props$searchWithErro,
69
+ _props$searchOnMount = props.searchOnMount,
70
+ searchOnMount = _props$searchOnMount === void 0 ? true : _props$searchOnMount,
71
+ onMount = props.onMount,
72
+ onSearch = props.onSearch,
73
+ onReset = props.onReset,
74
+ searchBtnRender = props.searchBtnRender,
75
+ restProps = __rest(props, ["className", "style", "mode", "layoutAuto", "form", "hidden", "loading", "column", "collapsed", "defaultCollapsed", "schema", "retainBtn", "closeReturnSearch", "resetAfter", "searchBtnStyle", "searchBtnClassName", "searchText", "resetText", "searchWithError", "searchOnMount", "onMount", "onSearch", "onReset", "searchBtnRender"]);
76
+ var fieldNum = Object.keys((schema === null || schema === void 0 ? void 0 : schema.properties) || {}).length;
77
+ var isColumn = (restProps.displayType || schema.displayType) === 'column';
78
+ var operateShow = mode !== 'simple' || mode === 'simple' && retainBtn;
79
+ var containerRef = useRef(null);
80
+ var _useSetState = useSetState({
81
+ hasCollapse: false,
82
+ isExpand: !defaultCollapsed,
83
+ column: schema.column || _column // 一行几列
84
+ }),
85
+ _useSetState2 = _slicedToArray(_useSetState, 2),
86
+ state = _useSetState2[0],
87
+ setState = _useSetState2[1];
88
+ var hasCollapse = state.hasCollapse,
89
+ isExpand = state.isExpand,
90
+ column = state.column;
91
+ var actionProps = {
92
+ style: searchBtnStyle,
93
+ className: searchBtnClassName,
94
+ searchText: searchText,
95
+ resetText: resetText,
96
+ loading: loading,
97
+ form: form,
98
+ hasCollapse: hasCollapse,
99
+ isExpand: isExpand,
100
+ onReset: onReset,
101
+ searchBtnRender: searchBtnRender
102
+ };
103
+ useMount(function () {
104
+ initMount();
105
+ });
106
+ useUpdateEffect(function () {
107
+ if (isExpand) {
108
+ initMount();
109
+ }
110
+ }, [isExpand]);
111
+ useMount(function () {
112
+ if (!collapsed) {
113
+ return;
114
+ }
115
+ if (!isColumn && fieldNum > column * 2 - 1 || isColumn && fieldNum > column - 1) {
116
+ setState({
117
+ hasCollapse: true
118
+ });
119
+ }
120
+ handleContainerResize();
121
+ });
122
+ useUpdateEffect(function () {
123
+ if (!collapsed) {
124
+ return;
125
+ }
126
+ if (!isColumn && fieldNum > column * 2 - 1 || isColumn && fieldNum > column - 1) {
127
+ setState({
128
+ hasCollapse: true
129
+ });
130
+ } else {
131
+ setState({
132
+ hasCollapse: true
133
+ });
134
+ }
135
+ }, [column]);
136
+ useUpdateEffect(function () {
137
+ if (collapsed) {
138
+ if (!isColumn && fieldNum > column * 2 - 1 || isColumn && fieldNum > column - 1) {
139
+ setState({
140
+ hasCollapse: true,
141
+ isExpand: !defaultCollapsed
142
+ });
143
+ } else {
144
+ setState({
145
+ hasCollapse: false,
146
+ isExpand: true
147
+ });
148
+ }
149
+ } else {
150
+ setState({
151
+ hasCollapse: false,
152
+ isExpand: true
153
+ });
154
+ }
155
+ }, [collapsed]);
156
+ var initMount = function initMount() {
157
+ return __awaiter(void 0, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee() {
158
+ return _regenerator().w(function (_context) {
159
+ while (1) switch (_context.n) {
160
+ case 0:
161
+ if (searchOnMount) {
162
+ _context.n = 1;
163
+ break;
164
+ }
165
+ return _context.a(2);
166
+ case 1:
167
+ if (!(typeof onMount === 'function')) {
168
+ _context.n = 2;
169
+ break;
170
+ }
171
+ _context.n = 2;
172
+ return onMount();
173
+ case 2:
174
+ form.submit();
175
+ case 3:
176
+ return _context.a(2);
177
+ }
178
+ }, _callee);
179
+ }));
180
+ };
181
+ var properties = useMemo(function () {
182
+ if (!collapsed) {
183
+ return schema === null || schema === void 0 ? void 0 : schema.properties;
184
+ }
185
+ var result = {};
186
+ Object.keys((schema === null || schema === void 0 ? void 0 : schema.properties) || {}).forEach(function (key, index) {
187
+ var item = Object.assign({}, schema.properties[key] || {});
188
+ if (!isExpand && isColumn && index >= column - 1 || !isExpand && !isColumn && index >= column * 2 - 1 // 只显示两行
189
+ ) {
190
+ item.visible = false;
191
+ }
192
+ result[key] = item;
193
+ });
194
+ return result;
195
+ }, [JSON.stringify(schema), column, isColumn, isExpand, collapsed]);
196
+ var handleContainerResize = function handleContainerResize() {
197
+ if (!layoutAuto) {
198
+ return;
199
+ }
200
+ var resizeObserver = new ResizeObserver(debounce(function () {
201
+ var _ref = (containerRef === null || containerRef === void 0 ? void 0 : containerRef.current) || {},
202
+ clientWidth = _ref.clientWidth;
203
+ for (var i = _column; i > 0; i--) {
204
+ var item = clientWidth / i;
205
+ if (item >= ((layoutAuto === null || layoutAuto === void 0 ? void 0 : layoutAuto.fieldMinWidth) || 340)) {
206
+ setState({
207
+ column: i
208
+ });
209
+ break;
210
+ }
211
+ if (i === 1) {
212
+ setState({
213
+ column: 1
214
+ });
215
+ }
216
+ }
217
+ }, 300, {
218
+ leading: true
219
+ }));
220
+ resizeObserver.observe(containerRef.current);
221
+ (function () {
222
+ resizeObserver.disconnect();
223
+ });
224
+ };
225
+ var handleFinish = function handleFinish(values) {
226
+ onSearch === null || onSearch === void 0 ? void 0 : onSearch(values);
227
+ };
228
+ var handleFinishFailed = function handleFinishFailed(_ref2) {
229
+ var values = _ref2.values;
230
+ if (!searchWithError) {
231
+ return;
232
+ }
233
+ onSearch === null || onSearch === void 0 ? void 0 : onSearch(values);
234
+ };
235
+ var handleKeyDown = function handleKeyDown(ev) {
236
+ if (ev.keyCode !== 13) {
237
+ return;
238
+ }
239
+ form.submit();
240
+ };
241
+ return /*#__PURE__*/React.createElement("div", {
242
+ className: classnames('fr-search', _defineProperty(_defineProperty({}, className, !!className), 'fr-column-search', isColumn)),
243
+ style: style,
244
+ ref: containerRef,
245
+ onKeyDown: !closeReturnSearch ? handleKeyDown : undefined
246
+ }, /*#__PURE__*/React.createElement(FormRender, Object.assign({
247
+ displayType: 'row'
248
+ }, restProps, {
249
+ schema: Object.assign(Object.assign({}, schema), {
250
+ properties: properties,
251
+ column: column
252
+ }),
253
+ onFinish: handleFinish,
254
+ onFinishFailed: handleFinishFailed,
255
+ form: form,
256
+ operateExtra: operateShow && (/*#__PURE__*/React.createElement(_Col, {
257
+ className: classnames('search-action-col', {
258
+ 'search-action-column': getIsColumn(isColumn, properties, column)
259
+ }),
260
+ style: {
261
+ minWidth: 1 / column * 100 + '%'
262
+ }
263
+ }, /*#__PURE__*/React.createElement(ActionView, Object.assign({}, actionProps, {
264
+ retainBtn: retainBtn,
265
+ mode: mode,
266
+ setExpand: function setExpand(value) {
267
+ return setState({
268
+ isExpand: value
269
+ });
270
+ }
271
+ }))))
272
+ })));
273
+ };
274
+ export default withProvider(SearchForm, {
275
+ Input: Input,
276
+ InputNumber: InputNumber,
277
+ TextArea: TextArea,
278
+ Select: Select,
279
+ MultiSelect: MultiSelect,
280
+ Switch: Switch,
281
+ Radio: Radio,
282
+ Checkbox: Checkbox,
283
+ Checkboxes: Checkboxes,
284
+ DatePicker: DatePicker,
285
+ DateRange: DateRange,
286
+ TimePicker: TimePicker,
287
+ TimeRange: TimeRange,
288
+ TreeSelect: TreeSelect,
289
+ ImageInput: ImageInput,
290
+ UrlInput: UrlInput,
291
+ Slider: Slider,
292
+ Html: Html,
293
+ PercentSlider: PercentSlider
294
+ });
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ declare const _default: import("react").ComponentType<import("../..").FRProps>;
3
+ export default _default;
@@ -0,0 +1,6 @@
1
+ import FormCore from '../../form-core';
2
+ import withProvider from '../../withProvider';
3
+ import Html from '../../widgets/fields/html';
4
+ export default withProvider(FormCore, {
5
+ Html: Html
6
+ });
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ declare const _default: (Component: React.FC<any>) => React.ForwardRefExoticComponent<React.RefAttributes<unknown>>;
3
+ export default _default;
@@ -0,0 +1,12 @@
1
+ import React, { forwardRef } from 'react';
2
+ import useForm from '../models/useForm';
3
+ export default (function (Component) {
4
+ return /*#__PURE__*/forwardRef(function (props, ref) {
5
+ var form = useForm();
6
+ return /*#__PURE__*/React.createElement(Component, Object.assign({
7
+ ref: ref
8
+ }, props, {
9
+ form: form
10
+ }));
11
+ });
12
+ });
@@ -0,0 +1,19 @@
1
+ .fr-hide-label > .ant-form-item-row > .ant-form-item-label {
2
+ visibility: hidden;
3
+ }
4
+ .fr-field .ant-form-item-row {
5
+ flex-wrap: nowrap;
6
+ }
7
+ .fr-field .ant-form-item-control-input-content {
8
+ display: flex;
9
+ }
10
+ .fr-field-visibility {
11
+ width: 0;
12
+ height: 0;
13
+ visibility: hidden;
14
+ position: absolute;
15
+ opacity: 0;
16
+ }
17
+ .fr-form .fr-inline-field .ant-form-item-control {
18
+ width: auto;
19
+ }
@@ -0,0 +1,5 @@
1
+ import { FC } from 'react';
2
+ import { FRProps } from '../type';
3
+ import './index.less';
4
+ declare const FormCore: FC<FRProps>;
5
+ export default FormCore;