@_tc/template-core 0.0.1-bate.1 → 0.0.1-bate.10

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 (443) hide show
  1. package/{app → cjs/app}/controller/base.d.ts +1 -2
  2. package/{app → cjs/app}/controller/base.js +0 -3
  3. package/{app → cjs/app}/controller/project.d.ts +1 -2
  4. package/cjs/app/controller/project.js +50 -0
  5. package/{app → cjs/app}/controller/view.d.ts +1 -2
  6. package/{app → cjs/app}/controller/view.js +0 -1
  7. package/cjs/app/data/signKey.d.ts +1 -0
  8. package/{app → cjs/app}/data/signKey.js +0 -1
  9. package/cjs/app/extend/db.d.ts +2 -0
  10. package/cjs/app/extend/db.js +12 -0
  11. package/cjs/app/extend/generateErrorMessage.d.ts +7 -0
  12. package/{app → cjs/app}/extend/generateErrorMessage.js +3 -1
  13. package/cjs/app/extend/logger.d.ts +11 -0
  14. package/{app → cjs/app}/extend/logger.js +0 -1
  15. package/cjs/app/extend/parsingParamsOnUrl.d.ts +2 -0
  16. package/{app → cjs/app}/extend/parsingParamsOnUrl.js +0 -1
  17. package/{app → cjs/app}/extend/render-view.d.ts +1 -2
  18. package/{app → cjs/app}/extend/render-view.js +0 -1
  19. package/{app → cjs/app}/middleware/api-params-verify.d.ts +1 -2
  20. package/{app → cjs/app}/middleware/api-params-verify.js +0 -1
  21. package/{app → cjs/app}/middleware/api-sign-verify.d.ts +1 -2
  22. package/{app → cjs/app}/middleware/api-sign-verify.js +0 -1
  23. package/{app → cjs/app}/middleware/error-handle.d.ts +1 -2
  24. package/{app → cjs/app}/middleware/error-handle.js +0 -1
  25. package/{app → cjs/app}/middleware/project-handler.d.ts +1 -2
  26. package/{app → cjs/app}/middleware/project-handler.js +0 -1
  27. package/cjs/app/middleware.d.ts +5 -0
  28. package/{app → cjs/app}/middleware.js +23 -2
  29. package/cjs/app/router/project.d.ts +4 -0
  30. package/{app → cjs/app}/router/project.js +0 -1
  31. package/cjs/app/router/view.d.ts +4 -0
  32. package/{app → cjs/app}/router/view.js +0 -1
  33. package/cjs/app/router-schema/project.d.ts +3 -0
  34. package/{app → cjs/app}/router-schema/project.js +0 -1
  35. package/cjs/app/service/bese.d.ts +10 -0
  36. package/{app → cjs/app}/service/bese.js +0 -1
  37. package/cjs/app/service/project.d.ts +27 -0
  38. package/cjs/app/service/project.js +42 -0
  39. package/cjs/app/type.d.ts +2 -0
  40. package/{app → cjs/app}/type.js +0 -1
  41. package/cjs/app/typings.d.ts +49 -0
  42. package/{app → cjs/app}/typings.js +0 -1
  43. package/cjs/app/view/entry.tpl +30 -0
  44. package/cjs/bundler/dev.d.ts +1 -0
  45. package/cjs/bundler/dev.js +68 -0
  46. package/cjs/bundler/index.d.ts +1 -0
  47. package/cjs/bundler/index.js +18 -0
  48. package/cjs/bundler/prod.d.ts +1 -0
  49. package/cjs/bundler/prod.js +19 -0
  50. package/cjs/bundler/utils.d.ts +7 -0
  51. package/cjs/bundler/utils.js +127 -0
  52. package/cjs/index.d.ts +28 -0
  53. package/{index.js → cjs/index.js} +0 -1
  54. package/cjs/packages/core/env.d.ts +15 -0
  55. package/{packages → cjs/packages}/core/env.js +0 -1
  56. package/cjs/packages/core/index.d.ts +6 -0
  57. package/{packages → cjs/packages}/core/index.js +24 -1
  58. package/cjs/packages/core/loader/config.d.ts +9 -0
  59. package/{packages → cjs/packages}/core/loader/config.js +14 -1
  60. package/cjs/packages/core/loader/controller.d.ts +17 -0
  61. package/{packages → cjs/packages}/core/loader/controller.js +23 -1
  62. package/cjs/packages/core/loader/extend.d.ts +8 -0
  63. package/{packages → cjs/packages}/core/loader/extend.js +8 -1
  64. package/cjs/packages/core/loader/middleware.d.ts +11 -0
  65. package/cjs/packages/core/loader/middleware.js +38 -0
  66. package/cjs/packages/core/loader/model.d.ts +36 -0
  67. package/{packages → cjs/packages}/core/loader/model.js +43 -1
  68. package/cjs/packages/core/loader/router-schema.d.ts +18 -0
  69. package/{packages → cjs/packages}/core/loader/router-schema.js +16 -1
  70. package/{packages → cjs/packages}/core/loader/router.d.ts +5 -1
  71. package/{packages → cjs/packages}/core/loader/router.js +20 -4
  72. package/cjs/packages/core/loader/service.d.ts +17 -0
  73. package/{packages → cjs/packages}/core/loader/service.js +14 -1
  74. package/cjs/packages/core/paths.d.ts +11 -0
  75. package/{packages → cjs/packages}/core/paths.js +0 -1
  76. package/{packages → cjs/packages}/core/types.d.ts +1 -1
  77. package/{packages → cjs/packages}/core/types.js +0 -1
  78. package/{packages → cjs/packages}/utils/getAllFilesInFolder.d.ts +5 -1
  79. package/{packages → cjs/packages}/utils/getAllFilesInFolder.js +0 -1
  80. package/cjs/packages/utils/getAllFnReturnValue.d.ts +0 -0
  81. package/cjs/packages/utils/getAllFnReturnValue.js +6 -0
  82. package/cjs/packages/utils/index.d.ts +4 -0
  83. package/{packages → cjs/packages}/utils/index.js +0 -1
  84. package/{packages → cjs/packages}/utils/loadFile.d.ts +6 -1
  85. package/{packages → cjs/packages}/utils/loadFile.js +9 -1
  86. package/cjs/packages/utils/path.d.ts +24 -0
  87. package/{packages → cjs/packages}/utils/path.js +14 -1
  88. package/cjs/packages/utils/runFileFn.d.ts +5 -0
  89. package/{packages → cjs/packages}/utils/runFileFn.js +0 -1
  90. package/cjs/typings/type.d.ts +4 -0
  91. package/{typings → cjs/typings}/type.js +0 -1
  92. package/esm/app/controller/base.d.ts +14 -0
  93. package/esm/app/controller/base.js +21 -0
  94. package/esm/app/controller/project.d.ts +12 -0
  95. package/{app → esm/app}/controller/project.js +3 -9
  96. package/esm/app/controller/view.d.ts +9 -0
  97. package/esm/app/controller/view.js +12 -0
  98. package/esm/app/data/signKey.js +1 -0
  99. package/esm/app/extend/db.js +9 -0
  100. package/esm/app/extend/generateErrorMessage.js +12 -0
  101. package/esm/app/extend/logger.js +37 -0
  102. package/esm/app/extend/parsingParamsOnUrl.js +20 -0
  103. package/esm/app/extend/render-view.d.ts +5 -0
  104. package/esm/app/extend/render-view.js +16 -0
  105. package/esm/app/middleware/api-params-verify.d.ts +6 -0
  106. package/esm/app/middleware/api-params-verify.js +58 -0
  107. package/esm/app/middleware/api-sign-verify.d.ts +6 -0
  108. package/esm/app/middleware/api-sign-verify.js +23 -0
  109. package/esm/app/middleware/error-handle.d.ts +6 -0
  110. package/esm/app/middleware/error-handle.js +31 -0
  111. package/esm/app/middleware/project-handler.d.ts +5 -0
  112. package/esm/app/middleware/project-handler.js +19 -0
  113. package/esm/app/middleware.js +55 -0
  114. package/esm/app/router/project.js +6 -0
  115. package/esm/app/router/view.js +3 -0
  116. package/esm/app/router-schema/project.js +31 -0
  117. package/esm/app/service/bese.js +12 -0
  118. package/{app → esm/app}/service/project.js +6 -11
  119. package/esm/app/type.js +1 -0
  120. package/esm/app/typings.js +1 -0
  121. package/esm/app/view/entry.tpl +30 -0
  122. package/esm/bundler/dev.d.ts +2 -0
  123. package/esm/bundler/dev.js +29 -0
  124. package/esm/bundler/index.d.ts +2 -0
  125. package/esm/bundler/index.js +14 -0
  126. package/esm/bundler/prod.d.ts +2 -0
  127. package/esm/bundler/prod.js +16 -0
  128. package/esm/bundler/utils.d.ts +8 -0
  129. package/esm/bundler/utils.js +85 -0
  130. package/esm/index.js +13 -0
  131. package/esm/packages/core/env.js +23 -0
  132. package/esm/packages/core/index.js +109 -0
  133. package/esm/packages/core/loader/config.d.ts +10 -0
  134. package/esm/packages/core/loader/config.js +43 -0
  135. package/esm/packages/core/loader/controller.d.ts +18 -0
  136. package/esm/packages/core/loader/controller.js +38 -0
  137. package/esm/packages/core/loader/extend.d.ts +9 -0
  138. package/esm/packages/core/loader/extend.js +39 -0
  139. package/esm/packages/core/loader/middleware.d.ts +12 -0
  140. package/esm/packages/core/loader/middleware.js +36 -0
  141. package/esm/packages/core/loader/model.d.ts +37 -0
  142. package/esm/packages/core/loader/model.js +127 -0
  143. package/esm/packages/core/loader/router-schema.d.ts +19 -0
  144. package/esm/packages/core/loader/router-schema.js +33 -0
  145. package/esm/packages/core/loader/router.d.ts +9 -0
  146. package/esm/packages/core/loader/router.js +57 -0
  147. package/esm/packages/core/loader/service.d.ts +18 -0
  148. package/esm/packages/core/loader/service.js +28 -0
  149. package/esm/packages/core/paths.js +6 -0
  150. package/esm/packages/core/types.d.ts +75 -0
  151. package/esm/packages/core/types.js +1 -0
  152. package/esm/packages/utils/getAllFilesInFolder.d.ts +10 -0
  153. package/esm/packages/utils/getAllFilesInFolder.js +8 -0
  154. package/esm/packages/utils/getAllFnReturnValue.js +6 -0
  155. package/esm/packages/utils/index.js +4 -0
  156. package/esm/packages/utils/loadFile.d.ts +21 -0
  157. package/esm/packages/utils/loadFile.js +63 -0
  158. package/esm/packages/utils/path.d.ts +25 -0
  159. package/esm/packages/utils/path.js +27 -0
  160. package/esm/packages/utils/runFileFn.js +1 -0
  161. package/esm/typings/type.d.ts +5 -0
  162. package/esm/typings/type.js +1 -0
  163. package/fe/frontend/main.d.ts +3 -0
  164. package/fe/frontend/main.js +6 -0
  165. package/fe/frontend/testPage/index.d.ts +3 -0
  166. package/fe/frontend/testPage/index.js +6 -0
  167. package/fe/frontend/testPage/testPage.entry.d.ts +2 -0
  168. package/fe/frontend/testPage/testPage.entry.js +4 -0
  169. package/fe/packages/ui/react/assets/table/no-result.svg +5 -0
  170. package/fe/packages/ui/react/components/Button/Button.d.ts +39 -0
  171. package/fe/packages/ui/react/components/Button/Button.js +42 -0
  172. package/fe/packages/ui/react/components/Button/SumbitButton.d.ts +13 -0
  173. package/fe/packages/ui/react/components/Button/SumbitButton.js +32 -0
  174. package/fe/packages/ui/react/components/Button/index.d.ts +4 -0
  175. package/fe/packages/ui/react/components/Button/index.js +2 -0
  176. package/fe/packages/ui/react/components/Checkbox/Checkbox.d.ts +17 -0
  177. package/fe/packages/ui/react/components/Checkbox/Checkbox.js +37 -0
  178. package/fe/packages/ui/react/components/Checkbox/index.d.ts +2 -0
  179. package/fe/packages/ui/react/components/Checkbox/index.js +1 -0
  180. package/fe/packages/ui/react/components/ConfirmDialog.d.ts +20 -0
  181. package/fe/packages/ui/react/components/ConfirmDialog.js +9 -0
  182. package/fe/packages/ui/react/components/DataTable/ActionBtn.d.ts +6 -0
  183. package/fe/packages/ui/react/components/DataTable/ActionBtn.js +13 -0
  184. package/fe/packages/ui/react/components/DataTable/data-table.d.ts +44 -0
  185. package/fe/packages/ui/react/components/DataTable/data-table.js +141 -0
  186. package/fe/packages/ui/react/components/Date/Calendar.d.ts +35 -0
  187. package/fe/packages/ui/react/components/Date/Calendar.js +215 -0
  188. package/fe/packages/ui/react/components/Date/Date.d.ts +36 -0
  189. package/fe/packages/ui/react/components/Date/Date.js +178 -0
  190. package/fe/packages/ui/react/components/Date/DateTestPage.d.ts +2 -0
  191. package/fe/packages/ui/react/components/Date/DateTestPage.js +29 -0
  192. package/fe/packages/ui/react/components/Date/LocaleContext.d.ts +6 -0
  193. package/fe/packages/ui/react/components/Date/LocaleContext.js +8 -0
  194. package/fe/packages/ui/react/components/Date/LocaleProvider.d.ts +19 -0
  195. package/fe/packages/ui/react/components/Date/LocaleProvider.js +24 -0
  196. package/fe/packages/ui/react/components/Date/TimePicker.d.ts +7 -0
  197. package/fe/packages/ui/react/components/Date/TimePicker.js +76 -0
  198. package/fe/packages/ui/react/components/Date/data.d.ts +6 -0
  199. package/fe/packages/ui/react/components/Date/data.js +4 -0
  200. package/fe/packages/ui/react/components/Date/dateLocaleStore.d.ts +16 -0
  201. package/fe/packages/ui/react/components/Date/dateLocaleStore.js +14 -0
  202. package/fe/packages/ui/react/components/Date/index.d.ts +6 -0
  203. package/fe/packages/ui/react/components/Date/index.js +5 -0
  204. package/fe/packages/ui/react/components/Date/locales.d.ts +42 -0
  205. package/fe/packages/ui/react/components/Date/locales.js +52 -0
  206. package/fe/packages/ui/react/components/Dropdown.d.ts +16 -0
  207. package/fe/packages/ui/react/components/Dropdown.js +54 -0
  208. package/fe/packages/ui/react/components/Form/Form.d.ts +18 -0
  209. package/fe/packages/ui/react/components/Form/Form.js +8 -0
  210. package/fe/packages/ui/react/components/Form/FormItem.d.ts +41 -0
  211. package/fe/packages/ui/react/components/Form/FormItem.js +43 -0
  212. package/fe/packages/ui/react/components/Form/SchemeForm/data.d.ts +51 -0
  213. package/fe/packages/ui/react/components/Form/SchemeForm/data.js +8 -0
  214. package/fe/packages/ui/react/components/Form/SchemeForm/index.d.ts +152 -0
  215. package/fe/packages/ui/react/components/Form/SchemeForm/index.js +69 -0
  216. package/fe/packages/ui/react/components/Form/index.d.ts +5 -0
  217. package/fe/packages/ui/react/components/Form/index.js +4 -0
  218. package/fe/packages/ui/react/components/Form/useForm.d.ts +3 -0
  219. package/fe/packages/ui/react/components/Form/useForm.js +1 -0
  220. package/fe/packages/ui/react/components/ImagePreview/ImagePreview.d.ts +8 -0
  221. package/fe/packages/ui/react/components/ImagePreview/ImagePreview.js +166 -0
  222. package/fe/packages/ui/react/components/ImagePreview/PreviewImage.d.ts +11 -0
  223. package/fe/packages/ui/react/components/ImagePreview/PreviewImage.js +25 -0
  224. package/fe/packages/ui/react/components/ImagePreview/index.d.ts +3 -0
  225. package/fe/packages/ui/react/components/ImagePreview/index.js +2 -0
  226. package/fe/packages/ui/react/components/Input/Input.d.ts +41 -0
  227. package/fe/packages/ui/react/components/Input/Input.js +60 -0
  228. package/fe/packages/ui/react/components/Input/index.d.ts +2 -0
  229. package/fe/packages/ui/react/components/Input/index.js +1 -0
  230. package/fe/packages/ui/react/components/Label/Label.d.ts +51 -0
  231. package/fe/packages/ui/react/components/Label/Label.js +35 -0
  232. package/fe/packages/ui/react/components/Label/index.d.ts +3 -0
  233. package/fe/packages/ui/react/components/Label/index.js +2 -0
  234. package/fe/packages/ui/react/components/Message/Message.d.ts +20 -0
  235. package/fe/packages/ui/react/components/Message/Message.js +55 -0
  236. package/fe/packages/ui/react/components/Message/MessageManager.d.ts +37 -0
  237. package/fe/packages/ui/react/components/Message/MessageManager.js +90 -0
  238. package/fe/packages/ui/react/components/Message/data.d.ts +2 -0
  239. package/fe/packages/ui/react/components/Message/data.js +1 -0
  240. package/fe/packages/ui/react/components/Message/index.d.ts +3 -0
  241. package/fe/packages/ui/react/components/Message/index.js +1 -0
  242. package/fe/packages/ui/react/components/Modal/Modal.d.ts +25 -0
  243. package/fe/packages/ui/react/components/Modal/Modal.js +51 -0
  244. package/fe/packages/ui/react/components/Modal/ModalManager.d.ts +59 -0
  245. package/fe/packages/ui/react/components/Modal/ModalManager.js +89 -0
  246. package/fe/packages/ui/react/components/Modal/index.d.ts +4 -0
  247. package/fe/packages/ui/react/components/Modal/index.js +2 -0
  248. package/fe/packages/ui/react/components/Pagination.d.ts +18 -0
  249. package/fe/packages/ui/react/components/Pagination.js +88 -0
  250. package/fe/packages/ui/react/components/Search/Search.d.ts +17 -0
  251. package/fe/packages/ui/react/components/Search/Search.js +12 -0
  252. package/fe/packages/ui/react/components/Search/index.d.ts +2 -0
  253. package/fe/packages/ui/react/components/Search/index.js +1 -0
  254. package/fe/packages/ui/react/components/Select/Select.d.ts +21 -0
  255. package/fe/packages/ui/react/components/Select/Select.js +180 -0
  256. package/fe/packages/ui/react/components/Select/index.d.ts +2 -0
  257. package/fe/packages/ui/react/components/Select/index.js +1 -0
  258. package/fe/packages/ui/react/components/Skeleton/Skeleton.d.ts +28 -0
  259. package/fe/packages/ui/react/components/Skeleton/Skeleton.js +31 -0
  260. package/fe/packages/ui/react/components/Skeleton/index.d.ts +3 -0
  261. package/fe/packages/ui/react/components/Skeleton/index.js +1 -0
  262. package/fe/packages/ui/react/components/Switch/Switch.d.ts +11 -0
  263. package/fe/packages/ui/react/components/Switch/Switch.js +20 -0
  264. package/fe/packages/ui/react/components/Switch/index.d.ts +2 -0
  265. package/fe/packages/ui/react/components/Switch/index.js +1 -0
  266. package/fe/packages/ui/react/components/TableSearch/TableSearch.d.ts +67 -0
  267. package/fe/packages/ui/react/components/TableSearch/TableSearch.js +119 -0
  268. package/fe/packages/ui/react/components/TableSearch/index.d.ts +2 -0
  269. package/fe/packages/ui/react/components/TableSearch/index.js +1 -0
  270. package/fe/packages/ui/react/components/TableSearch/lang.d.ts +15 -0
  271. package/fe/packages/ui/react/components/TableSearch/lang.js +23 -0
  272. package/fe/packages/ui/react/components/TableSearch/tableSearchLocaleStore.d.ts +9 -0
  273. package/fe/packages/ui/react/components/TableSearch/tableSearchLocaleStore.js +11 -0
  274. package/fe/packages/ui/react/components/Textarea.d.ts +59 -0
  275. package/fe/packages/ui/react/components/Textarea.js +35 -0
  276. package/fe/packages/ui/react/components/Tooltip.d.ts +25 -0
  277. package/fe/packages/ui/react/components/Tooltip.js +118 -0
  278. package/fe/packages/ui/react/components/TreeSelect.d.ts +25 -0
  279. package/fe/packages/ui/react/components/TreeSelect.js +162 -0
  280. package/fe/packages/ui/react/components/Upload/ImageUpload.d.ts +9 -0
  281. package/fe/packages/ui/react/components/Upload/ImageUpload.js +63 -0
  282. package/fe/packages/ui/react/components/Upload/Upload.d.ts +41 -0
  283. package/fe/packages/ui/react/components/Upload/Upload.js +5 -0
  284. package/fe/packages/ui/react/components/Upload/index.d.ts +3 -0
  285. package/fe/packages/ui/react/components/Upload/index.js +2 -0
  286. package/fe/packages/ui/react/components/breadcrumb.d.ts +35 -0
  287. package/fe/packages/ui/react/components/breadcrumb.js +78 -0
  288. package/fe/packages/ui/react/components/hooks/useInputController.d.ts +24 -0
  289. package/fe/packages/ui/react/components/hooks/useInputController.js +45 -0
  290. package/fe/packages/ui/react/components/index.d.ts +24 -0
  291. package/fe/packages/ui/react/components/index.js +23 -0
  292. package/fe/packages/ui/react/components/table.d.ts +17 -0
  293. package/fe/packages/ui/react/components/table.js +20 -0
  294. package/fe/packages/ui/react/components/testPage/index.d.ts +3 -0
  295. package/fe/packages/ui/react/components/testPage/index.js +118 -0
  296. package/fe/packages/ui/react/hooks/useBreadcrumb.d.ts +10 -0
  297. package/fe/packages/ui/react/hooks/useBreadcrumb.js +2 -0
  298. package/fe/packages/ui/react/hooks/useInit.d.ts +3 -0
  299. package/fe/packages/ui/react/hooks/useInit.js +9 -0
  300. package/fe/packages/ui/react/hooks/useLanguage.d.ts +7 -0
  301. package/fe/packages/ui/react/hooks/useLanguage.js +4 -0
  302. package/fe/packages/ui/react/hooks/usePagination.d.ts +16 -0
  303. package/fe/packages/ui/react/hooks/usePagination.js +27 -0
  304. package/fe/packages/ui/react/index.d.ts +3 -0
  305. package/fe/packages/ui/react/index.js +4 -0
  306. package/fe/packages/ui/react/lib/export.d.ts +66 -0
  307. package/fe/packages/ui/react/lib/export.js +138 -0
  308. package/fe/packages/ui/react/lib/utils.d.ts +34 -0
  309. package/fe/packages/ui/react/lib/utils.js +70 -0
  310. package/fe/packages/ui/react/locales/index.d.ts +8 -0
  311. package/fe/packages/ui/react/locales/index.js +6 -0
  312. package/fe/packages/ui/react/stores/breadcrumb.d.ts +15 -0
  313. package/fe/packages/ui/react/stores/breadcrumb.js +66 -0
  314. package/fe/packages/ui/react/stores/language.d.ts +13 -0
  315. package/fe/packages/ui/react/stores/language.js +51 -0
  316. package/{typings/type.d.ts → fe/packages/ui/react/types/index.d.ts} +1 -1
  317. package/fe/packages/ui/react/types/index.js +1 -0
  318. package/package.json +38 -4
  319. package/app/controller/base.d.ts.map +0 -1
  320. package/app/controller/base.js.map +0 -1
  321. package/app/controller/project.d.ts.map +0 -1
  322. package/app/controller/project.js.map +0 -1
  323. package/app/controller/view.d.ts.map +0 -1
  324. package/app/controller/view.js.map +0 -1
  325. package/app/data/signKey.d.ts.map +0 -1
  326. package/app/data/signKey.js.map +0 -1
  327. package/app/extend/db.d.ts.map +0 -1
  328. package/app/extend/db.js +0 -8
  329. package/app/extend/db.js.map +0 -1
  330. package/app/extend/generateErrorMessage.d.ts.map +0 -1
  331. package/app/extend/generateErrorMessage.js.map +0 -1
  332. package/app/extend/logger.d.ts.map +0 -1
  333. package/app/extend/logger.js.map +0 -1
  334. package/app/extend/parsingParamsOnUrl.d.ts.map +0 -1
  335. package/app/extend/parsingParamsOnUrl.js.map +0 -1
  336. package/app/extend/render-view.d.ts.map +0 -1
  337. package/app/extend/render-view.js.map +0 -1
  338. package/app/middleware/api-params-verify.d.ts.map +0 -1
  339. package/app/middleware/api-params-verify.js.map +0 -1
  340. package/app/middleware/api-sign-verify.d.ts.map +0 -1
  341. package/app/middleware/api-sign-verify.js.map +0 -1
  342. package/app/middleware/error-handle.d.ts.map +0 -1
  343. package/app/middleware/error-handle.js.map +0 -1
  344. package/app/middleware/project-handler.d.ts.map +0 -1
  345. package/app/middleware/project-handler.js.map +0 -1
  346. package/app/middleware.d.ts.map +0 -1
  347. package/app/middleware.js.map +0 -1
  348. package/app/router/project.d.ts.map +0 -1
  349. package/app/router/project.js.map +0 -1
  350. package/app/router/view.d.ts.map +0 -1
  351. package/app/router/view.js.map +0 -1
  352. package/app/router-schema/project.d.ts.map +0 -1
  353. package/app/router-schema/project.js.map +0 -1
  354. package/app/service/bese.d.ts.map +0 -1
  355. package/app/service/bese.js.map +0 -1
  356. package/app/service/project.d.ts.map +0 -1
  357. package/app/service/project.js.map +0 -1
  358. package/app/type.d.ts.map +0 -1
  359. package/app/type.js.map +0 -1
  360. package/app/typings.d.ts.map +0 -1
  361. package/app/typings.js.map +0 -1
  362. package/index.d.ts.map +0 -1
  363. package/index.js.map +0 -1
  364. package/model/index.d.ts +0 -2
  365. package/model/index.d.ts.map +0 -1
  366. package/model/index.js +0 -7
  367. package/model/index.js.map +0 -1
  368. package/model/test.d.ts +0 -6
  369. package/model/test.d.ts.map +0 -1
  370. package/model/test.js +0 -6
  371. package/model/test.js.map +0 -1
  372. package/model/test2.d.ts +0 -6
  373. package/model/test2.d.ts.map +0 -1
  374. package/model/test2.js +0 -6
  375. package/model/test2.js.map +0 -1
  376. package/packages/core/env.d.ts.map +0 -1
  377. package/packages/core/env.js.map +0 -1
  378. package/packages/core/index.d.ts.map +0 -1
  379. package/packages/core/index.js.map +0 -1
  380. package/packages/core/loader/config.d.ts +0 -4
  381. package/packages/core/loader/config.d.ts.map +0 -1
  382. package/packages/core/loader/config.js.map +0 -1
  383. package/packages/core/loader/controller.d.ts +0 -4
  384. package/packages/core/loader/controller.d.ts.map +0 -1
  385. package/packages/core/loader/controller.js.map +0 -1
  386. package/packages/core/loader/extend.d.ts +0 -4
  387. package/packages/core/loader/extend.d.ts.map +0 -1
  388. package/packages/core/loader/extend.js.map +0 -1
  389. package/packages/core/loader/middleware.d.ts +0 -4
  390. package/packages/core/loader/middleware.d.ts.map +0 -1
  391. package/packages/core/loader/middleware.js +0 -16
  392. package/packages/core/loader/middleware.js.map +0 -1
  393. package/packages/core/loader/model.d.ts +0 -15
  394. package/packages/core/loader/model.d.ts.map +0 -1
  395. package/packages/core/loader/model.js.map +0 -1
  396. package/packages/core/loader/router-schema.d.ts +0 -4
  397. package/packages/core/loader/router-schema.d.ts.map +0 -1
  398. package/packages/core/loader/router-schema.js.map +0 -1
  399. package/packages/core/loader/router.d.ts.map +0 -1
  400. package/packages/core/loader/router.js.map +0 -1
  401. package/packages/core/loader/service.d.ts +0 -4
  402. package/packages/core/loader/service.d.ts.map +0 -1
  403. package/packages/core/loader/service.js.map +0 -1
  404. package/packages/core/paths.d.ts.map +0 -1
  405. package/packages/core/paths.js.map +0 -1
  406. package/packages/core/types.d.ts.map +0 -1
  407. package/packages/core/types.js.map +0 -1
  408. package/packages/utils/getAllFilesInFolder.d.ts.map +0 -1
  409. package/packages/utils/getAllFilesInFolder.js.map +0 -1
  410. package/packages/utils/getAllFnReturnValue.d.ts.map +0 -1
  411. package/packages/utils/getAllFnReturnValue.js +0 -2
  412. package/packages/utils/getAllFnReturnValue.js.map +0 -1
  413. package/packages/utils/index.d.ts.map +0 -1
  414. package/packages/utils/index.js.map +0 -1
  415. package/packages/utils/loadFile.d.ts.map +0 -1
  416. package/packages/utils/loadFile.js.map +0 -1
  417. package/packages/utils/path.d.ts +0 -7
  418. package/packages/utils/path.d.ts.map +0 -1
  419. package/packages/utils/path.js.map +0 -1
  420. package/packages/utils/runFileFn.d.ts.map +0 -1
  421. package/packages/utils/runFileFn.js.map +0 -1
  422. package/typings/type.d.ts.map +0 -1
  423. package/typings/type.js.map +0 -1
  424. /package/{app → esm/app}/data/signKey.d.ts +0 -0
  425. /package/{app → esm/app}/extend/db.d.ts +0 -0
  426. /package/{app → esm/app}/extend/generateErrorMessage.d.ts +0 -0
  427. /package/{app → esm/app}/extend/logger.d.ts +0 -0
  428. /package/{app → esm/app}/extend/parsingParamsOnUrl.d.ts +0 -0
  429. /package/{app → esm/app}/middleware.d.ts +0 -0
  430. /package/{app → esm/app}/router/project.d.ts +0 -0
  431. /package/{app → esm/app}/router/view.d.ts +0 -0
  432. /package/{app → esm/app}/router-schema/project.d.ts +0 -0
  433. /package/{app → esm/app}/service/bese.d.ts +0 -0
  434. /package/{app → esm/app}/service/project.d.ts +0 -0
  435. /package/{app → esm/app}/type.d.ts +0 -0
  436. /package/{app → esm/app}/typings.d.ts +0 -0
  437. /package/{index.d.ts → esm/index.d.ts} +0 -0
  438. /package/{packages → esm/packages}/core/env.d.ts +0 -0
  439. /package/{packages → esm/packages}/core/index.d.ts +0 -0
  440. /package/{packages → esm/packages}/core/paths.d.ts +0 -0
  441. /package/{packages → esm/packages}/utils/getAllFnReturnValue.d.ts +0 -0
  442. /package/{packages → esm/packages}/utils/index.d.ts +0 -0
  443. /package/{packages → esm/packages}/utils/runFileFn.d.ts +0 -0
@@ -0,0 +1,16 @@
1
+ import { type DateLocaleConfig } from './locales';
2
+ type DateLocaleState = {
3
+ locale: DateLocaleConfig;
4
+ /**
5
+ * Merge partial updates into the current locale.
6
+ */
7
+ setLocale: (patch: Partial<DateLocaleConfig>) => void;
8
+ /**
9
+ * Replace the locale entirely.
10
+ */
11
+ replaceLocale: (nextLocale: DateLocaleConfig) => void;
12
+ resetLocale: () => void;
13
+ };
14
+ export declare const useDateLocaleStore: import("zustand").UseBoundStore<import("zustand").StoreApi<DateLocaleState>>;
15
+ export {};
16
+ //# sourceMappingURL=dateLocaleStore.d.ts.map
@@ -0,0 +1,14 @@
1
+ import { create } from 'zustand';
2
+ import { defaultLocale } from './locales';
3
+ export const useDateLocaleStore = create((set) => ({
4
+ locale: defaultLocale,
5
+ setLocale: (patch) => set((state) => ({
6
+ locale: { ...state.locale, ...patch },
7
+ })),
8
+ replaceLocale: (nextLocale) => set(() => ({
9
+ locale: nextLocale,
10
+ })),
11
+ resetLocale: () => set(() => ({
12
+ locale: defaultLocale,
13
+ })),
14
+ }));
@@ -0,0 +1,6 @@
1
+ export * from './Date';
2
+ export * from './dateLocaleStore';
3
+ export { useDateLocale } from './LocaleContext';
4
+ export * from './LocaleProvider';
5
+ export * from './locales';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,5 @@
1
+ export * from './Date';
2
+ export * from './dateLocaleStore';
3
+ export { useDateLocale } from './LocaleContext';
4
+ export * from './LocaleProvider';
5
+ export * from './locales';
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Date 组件文案配置
3
+ * 支持外部修改文案内容
4
+ */
5
+ export interface DateLocaleConfig {
6
+ placeholder: string;
7
+ placeholderDateTime: string;
8
+ placeholderRange: string;
9
+ placeholderDateTimeRange: string;
10
+ weekDays: string[];
11
+ selectTime: string;
12
+ startTime: string;
13
+ endTime: string;
14
+ confirm: string;
15
+ /**
16
+ * 范围模式 - 快捷选择面板标题
17
+ */
18
+ quickRanges: string;
19
+ /**
20
+ * 范围模式 - 各快捷范围文案
21
+ */
22
+ quickRangeToday: string;
23
+ quickRangeYesterday: string;
24
+ quickRangeLast7Days: string;
25
+ quickRangeLast30Days: string;
26
+ quickRangeThisMonth: string;
27
+ quickRangeLastYear: string;
28
+ clear: string;
29
+ }
30
+ /**
31
+ * 默认中文文案
32
+ */
33
+ export declare const zhCNLocale: DateLocaleConfig;
34
+ /**
35
+ * 默认英文文案
36
+ */
37
+ export declare const enUSLocale: DateLocaleConfig;
38
+ /**
39
+ * 默认使用中文文案
40
+ */
41
+ export declare const defaultLocale: DateLocaleConfig;
42
+ //# sourceMappingURL=locales.d.ts.map
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Date 组件文案配置
3
+ * 支持外部修改文案内容
4
+ */
5
+ /**
6
+ * 默认中文文案
7
+ */
8
+ export const zhCNLocale = {
9
+ placeholder: '请选择日期',
10
+ placeholderDateTime: '请选择日期时间',
11
+ placeholderRange: '选择日期范围',
12
+ placeholderDateTimeRange: '选择日期时间范围',
13
+ weekDays: ['日', '一', '二', '三', '四', '五', '六'],
14
+ selectTime: '选择时间',
15
+ startTime: '开始时间',
16
+ endTime: '结束时间',
17
+ confirm: '确认',
18
+ quickRanges: '快速选择',
19
+ quickRangeToday: '今天',
20
+ quickRangeYesterday: '昨天',
21
+ quickRangeLast7Days: '近7天',
22
+ quickRangeLast30Days: '近30天',
23
+ quickRangeThisMonth: '本月',
24
+ quickRangeLastYear: '最近一年',
25
+ clear: '清除',
26
+ };
27
+ /**
28
+ * 默认英文文案
29
+ */
30
+ export const enUSLocale = {
31
+ placeholder: 'Select date',
32
+ placeholderDateTime: 'Select date and time',
33
+ placeholderRange: 'Select date range',
34
+ placeholderDateTimeRange: 'Select date and time range',
35
+ weekDays: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
36
+ selectTime: 'Select time',
37
+ startTime: 'Start time',
38
+ endTime: 'End time',
39
+ confirm: 'Confirm',
40
+ quickRanges: 'Quick ranges',
41
+ quickRangeToday: 'Today',
42
+ quickRangeYesterday: 'Yesterday',
43
+ quickRangeLast7Days: 'Last 7 days',
44
+ quickRangeLast30Days: 'Last 30 days',
45
+ quickRangeThisMonth: 'This month',
46
+ quickRangeLastYear: 'Last year',
47
+ clear: 'Clear',
48
+ };
49
+ /**
50
+ * 默认使用中文文案
51
+ */
52
+ export const defaultLocale = zhCNLocale;
@@ -0,0 +1,16 @@
1
+ import type { ReactNode } from 'react';
2
+ export interface DropdownItem {
3
+ key: string;
4
+ label: ReactNode;
5
+ icon?: ReactNode;
6
+ danger?: boolean;
7
+ onClick?: () => void;
8
+ }
9
+ export interface DropdownProps {
10
+ items: DropdownItem[];
11
+ children: ReactNode;
12
+ className?: string;
13
+ placement?: 'bottom-end' | 'bottom-start';
14
+ }
15
+ export declare function Dropdown({ items, children, className, placement }: DropdownProps): import("react/jsx-runtime").JSX.Element;
16
+ //# sourceMappingURL=Dropdown.d.ts.map
@@ -0,0 +1,54 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { cn } from '../lib/utils';
3
+ import { useEffect, useRef, useState } from 'react';
4
+ import { createPortal } from 'react-dom';
5
+ export function Dropdown({ items, children, className, placement = 'bottom-end' }) {
6
+ const [isOpen, setIsOpen] = useState(false);
7
+ const [position, setPosition] = useState({ top: 0, left: 0, width: 0 });
8
+ const triggerRef = useRef(null);
9
+ const dropdownRef = useRef(null);
10
+ // 计算下拉菜单位置
11
+ const updatePosition = () => {
12
+ if (triggerRef.current) {
13
+ const rect = triggerRef.current.getBoundingClientRect();
14
+ setPosition({
15
+ top: rect.bottom + window.scrollY,
16
+ left: placement === 'bottom-end' ? rect.right + window.scrollX : rect.left + window.scrollX,
17
+ width: rect.width,
18
+ });
19
+ }
20
+ };
21
+ // 点击外部关闭
22
+ useEffect(() => {
23
+ if (!isOpen)
24
+ return;
25
+ const handleClickOutside = (event) => {
26
+ if (triggerRef.current &&
27
+ !triggerRef.current.contains(event.target) &&
28
+ dropdownRef.current &&
29
+ !dropdownRef.current.contains(event.target)) {
30
+ setIsOpen(false);
31
+ }
32
+ };
33
+ document.addEventListener('mousedown', handleClickOutside);
34
+ return () => {
35
+ document.removeEventListener('mousedown', handleClickOutside);
36
+ };
37
+ }, [isOpen]);
38
+ const handleToggle = () => {
39
+ if (!isOpen) {
40
+ updatePosition();
41
+ }
42
+ setIsOpen(!isOpen);
43
+ };
44
+ const handleItemClick = (item) => {
45
+ item.onClick?.();
46
+ setIsOpen(false);
47
+ };
48
+ return (_jsxs(_Fragment, { children: [_jsx("div", { ref: triggerRef, className: cn('relative inline-block', className), children: _jsx("div", { onClick: handleToggle, children: children }) }), isOpen &&
49
+ createPortal(_jsx("div", { ref: dropdownRef, className: cn('fixed z-[9999] mt-2 min-w-[120px]', 'bg-white rounded-lg shadow-lg border border-gray-200', 'py-1', 'animate-in fade-in-0 zoom-in-95'), style: {
50
+ top: `${position.top}px`,
51
+ left: placement === 'bottom-end' ? 'auto' : `${position.left}px`,
52
+ right: placement === 'bottom-end' ? `${window.innerWidth - position.left}px` : 'auto',
53
+ }, children: items.map((item) => (_jsxs("button", { onClick: () => handleItemClick(item), className: cn('w-full px-4 py-2.5 text-sm text-left', 'flex items-center gap-2', 'transition-colors', item.danger ? 'text-red-600 hover:bg-red-50' : 'text-gray-700 hover:bg-gray-50'), children: [item.icon && _jsx("span", { className: "flex-shrink-0", children: item.icon }), _jsx("span", { children: item.label })] }, item.key))) }), document.body)] }));
54
+ }
@@ -0,0 +1,18 @@
1
+ import type { FormProps as RcFormProps } from 'rc-field-form';
2
+ import type { ReactNode } from 'react';
3
+ export interface FormProps<T> extends Omit<RcFormProps<T>, 'component'> {
4
+ /**
5
+ * 表单类名
6
+ */
7
+ className?: string;
8
+ /**
9
+ * 表单内容
10
+ */
11
+ children?: ReactNode;
12
+ }
13
+ declare const Form: {
14
+ <T extends object>({ className, children, ...props }: FormProps<T>): import("react/jsx-runtime").JSX.Element;
15
+ displayName: string;
16
+ };
17
+ export { Form };
18
+ //# sourceMappingURL=Form.d.ts.map
@@ -0,0 +1,8 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { cn } from '../../lib/utils';
3
+ import RcForm from 'rc-field-form';
4
+ const Form = ({ className, children, ...props }) => {
5
+ return (_jsx(RcForm, { ...props, component: "form", className: cn(className), children: children }));
6
+ };
7
+ Form.displayName = 'Form';
8
+ export { Form };
@@ -0,0 +1,41 @@
1
+ import { Field } from 'rc-field-form';
2
+ import type { ReactNode } from 'react';
3
+ import { type LabelLayout } from '../Label';
4
+ type FieldProps = Parameters<typeof Field>[0];
5
+ export interface FormItemProps<T = any> extends Omit<FieldProps, 'children'> {
6
+ /**
7
+ * 表单项类名
8
+ */
9
+ className?: string;
10
+ /**
11
+ * 标签文本
12
+ */
13
+ label?: ReactNode;
14
+ /**
15
+ * 标签类名
16
+ */
17
+ labelClassName?: string;
18
+ /**
19
+ * 是否必填(仅用于显示,实际验证通过 rules 配置)
20
+ */
21
+ required?: boolean;
22
+ /**
23
+ * 表单项内容
24
+ */
25
+ children?: ReactNode | ((value: T, onChange: (value: T) => void, meta: {
26
+ errors: string[];
27
+ warnings: string[];
28
+ }) => ReactNode);
29
+ /**
30
+ * 错误信息类名
31
+ */
32
+ errorClassName?: string;
33
+ /**
34
+ * 是否显示错误信息
35
+ */
36
+ showError?: boolean;
37
+ layout?: Required<LabelLayout>['layout'];
38
+ }
39
+ declare const FormItem: <T>(props: FormItemProps<T>) => ReactNode | Promise<ReactNode>;
40
+ export { FormItem };
41
+ //# sourceMappingURL=FormItem.d.ts.map
@@ -0,0 +1,43 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { cn } from '../../lib/utils';
3
+ import { Field } from 'rc-field-form';
4
+ import React, { forwardRef } from 'react';
5
+ import Label from '../Label';
6
+ const FormItemFN = forwardRef(({ className, label, labelClassName, required, children, errorClassName, showError = true, name, rules, layout, ...props }, ref) => {
7
+ return (_jsx(Field, { name: name, rules: rules, ...props, children: (control, meta /** form */) => {
8
+ const { value, onChange, ...restControl } = control;
9
+ const { errors, warnings } = meta;
10
+ const hasError = errors.length > 0;
11
+ const hasWarning = warnings.length > 0;
12
+ // 如果 children 是函数,调用它并传入 value、onChange 和 meta
13
+ const childNode = typeof children === 'function' ? children(value, onChange, meta) : children;
14
+ // 克隆子元素并注入 value 和 onChange
15
+ const childWithProps = childNode && typeof childNode === 'object' && 'props' in childNode
16
+ ? React.cloneElement(childNode, {
17
+ value: value,
18
+ onChange: (val) => {
19
+ // 兼容 Input 组件的 onChange(value, event) 格式
20
+ // Input 组件的 onChange 签名是: (value: string, event: ChangeEvent) => void
21
+ if (typeof val === 'string') {
22
+ // 如果第一个参数是字符串,说明是 Input 组件的格式
23
+ onChange(val);
24
+ }
25
+ else if (val?.target?.value !== undefined) {
26
+ // 原生 input 的 onChange 事件格式
27
+ onChange(val.target.value);
28
+ }
29
+ else {
30
+ // 其他情况直接使用值
31
+ onChange(val);
32
+ }
33
+ },
34
+ ...restControl,
35
+ })
36
+ : childNode;
37
+ const content = _jsx("div", { className: hasError || hasWarning ? 'relative' : '', children: childWithProps });
38
+ return (_jsxs("div", { ref: ref, className: cn(className), children: [label ? (_jsx(Label, { htmlFor: name, label: label, layout: layout, required: required, labelClassName: cn(labelClassName, hasError && 'text-destructive'), children: content })) : (content), showError && hasError && (_jsx("div", { className: cn('text-sm text-destructive', errorClassName), children: errors[0] })), hasWarning && _jsx("div", { className: "text-sm text-yellow-600", children: warnings[0] })] }));
39
+ } }));
40
+ });
41
+ FormItemFN.displayName = 'FormItem';
42
+ const FormItem = FormItemFN;
43
+ export { FormItem };
@@ -0,0 +1,51 @@
1
+ import React from 'react';
2
+ import { type DatePickerProps } from '../../Date';
3
+ import { type InputProps } from '../../Input';
4
+ import { type SelectProps } from '../../Select';
5
+ import { type SwitchProps } from '../../Switch';
6
+ import { type TextareaProps } from '../../Textarea';
7
+ export declare const componentsMap: {
8
+ input: React.LazyExoticComponent<React.ForwardRefExoticComponent<Omit<React.InputHTMLAttributes<HTMLInputElement>, "defaultValue" | "onChange" | "value"> & {
9
+ value?: string;
10
+ onChange?: (v: string, e: React.ChangeEvent<HTMLInputElement>) => void;
11
+ defaultValue?: string;
12
+ allowClear?: boolean | {
13
+ clearIcon: React.ReactNode;
14
+ };
15
+ addonAfter?: React.ReactNode;
16
+ } & React.RefAttributes<HTMLInputElement>>>;
17
+ select: React.LazyExoticComponent<React.ForwardRefExoticComponent<SelectProps & React.RefAttributes<HTMLDivElement>>>;
18
+ textarea: React.LazyExoticComponent<React.ForwardRefExoticComponent<Omit<React.TextareaHTMLAttributes<HTMLTextAreaElement>, "defaultValue" | "onChange" | "value"> & {
19
+ value?: string;
20
+ onChange?: (v: string, e: React.ChangeEvent<HTMLTextAreaElement>) => void;
21
+ defaultValue?: string;
22
+ maxLength?: number;
23
+ showCount?: boolean;
24
+ placeholder?: string;
25
+ } & React.RefAttributes<HTMLTextAreaElement>>>;
26
+ switch: React.LazyExoticComponent<React.ForwardRefExoticComponent<SwitchProps & React.RefAttributes<HTMLButtonElement>>>;
27
+ date: React.LazyExoticComponent<React.ForwardRefExoticComponent<DatePickerProps & React.RefAttributes<HTMLDivElement>>>;
28
+ };
29
+ type TextareaField = {
30
+ type?: 'textarea';
31
+ fieldProps?: TextareaProps;
32
+ };
33
+ type InputField = {
34
+ type?: 'input';
35
+ fieldProps?: InputProps;
36
+ };
37
+ type SelectField = {
38
+ type?: 'select';
39
+ fieldProps?: SelectProps;
40
+ };
41
+ type SwitchField = {
42
+ type?: 'switch';
43
+ fieldProps?: SwitchProps;
44
+ };
45
+ type DateField = {
46
+ type?: 'date';
47
+ fieldProps?: DatePickerProps;
48
+ };
49
+ export type FieldProps = TextareaField | InputField | SelectField | SwitchField | DateField;
50
+ export {};
51
+ //# sourceMappingURL=data.d.ts.map
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ export const componentsMap = {
3
+ input: React.lazy(async () => ({ default: (await import('../../Input')).Input })),
4
+ select: React.lazy(async () => ({ default: (await import('../../Select')).Select })),
5
+ textarea: React.lazy(async () => ({ default: (await import('../../Textarea')).Textarea })),
6
+ switch: React.lazy(async () => ({ default: (await import('../../Switch')).Switch })),
7
+ date: React.lazy(async () => ({ default: (await import('../../Date')).DatePicker })),
8
+ };
@@ -0,0 +1,152 @@
1
+ import type { MOmit } from '../../../types';
2
+ import { type FormInstance } from 'rc-field-form';
3
+ import type { Rule } from 'rc-field-form/es/interface';
4
+ import { type ReactNode } from 'react';
5
+ import { type FormProps } from '..';
6
+ import { Button } from '../../Button';
7
+ import type { LabelLayout } from '../../Label';
8
+ import { componentsMap, type FieldProps } from './data';
9
+ export type FormFieldType = keyof typeof componentsMap;
10
+ type BaseField<T> = {
11
+ [K in keyof T]: {
12
+ /**
13
+ * 字段名
14
+ */
15
+ name: K | number | (K | number)[];
16
+ /**
17
+ * 标签文本
18
+ */
19
+ label?: ReactNode;
20
+ /**
21
+ * 验证规则
22
+ */
23
+ rules?: Rule[];
24
+ /**
25
+ * 是否必填(仅用于显示,实际验证通过 rules 配置)
26
+ */
27
+ required?: boolean;
28
+ /**
29
+ * 表单项类名
30
+ */
31
+ className?: string;
32
+ /**
33
+ * 标签类名
34
+ */
35
+ labelClassName?: string;
36
+ /**
37
+ * 错误信息类名
38
+ */
39
+ errorClassName?: string;
40
+ /**
41
+ * 是否显示错误信息
42
+ */
43
+ showError?: boolean;
44
+ /**
45
+ * 自定义渲染函数
46
+ */
47
+ render?: (value: T[K], onChange: (value: T[K]) => void, meta: {
48
+ errors: string[];
49
+ warnings: string[];
50
+ }) => ReactNode;
51
+ /**
52
+ * field label 布局方向
53
+ */
54
+ layout?: Required<LabelLayout>['layout'];
55
+ /**
56
+ * 插入到控件后边
57
+ */
58
+ affterNode?: ReactNode;
59
+ };
60
+ }[keyof T];
61
+ type GroupField<T> = {
62
+ type: 'group';
63
+ childrens: FormFieldScheme<T>[];
64
+ fieldProps: React.HTMLAttributes<HTMLDivElement>;
65
+ } & BaseField<T>;
66
+ type NotGroupField<T> = FieldProps & BaseField<T>;
67
+ export type FormFieldScheme<T> = GroupField<T> | NotGroupField<T>;
68
+ export interface SchemeFormProps<T = object> extends MOmit<FormProps<T>, 'initialValues' | 'children' | 'preserve'> {
69
+ /**
70
+ * 表单实例
71
+ */
72
+ form?: FormInstance<T>;
73
+ /**
74
+ * 获取当前使用的form实例
75
+ */
76
+ getForm?: (formInstance: FormInstance<T>) => void;
77
+ /**
78
+ * 表单配置方案
79
+ */
80
+ schemes: FormFieldScheme<T>[];
81
+ /**
82
+ * 表单类名
83
+ */
84
+ className?: string;
85
+ /**
86
+ * 提交回调
87
+ */
88
+ onFinish?: (values: T) => void;
89
+ /**
90
+ * 提交失败回调
91
+ */
92
+ onFinishFailed?: (errorInfo: any) => void;
93
+ /**
94
+ * 初始值
95
+ */
96
+ initialValues?: T;
97
+ /**
98
+ * form 布局方向
99
+ *
100
+ * tips: horizontal 需自行实现提交按钮
101
+ */
102
+ layout?: Required<LabelLayout>['layout'];
103
+ /**
104
+ * 统一配置 field layout
105
+ */
106
+ fieldLayout?: Required<LabelLayout>['layout'];
107
+ /**
108
+ * - 是否显示提交和取消按钮
109
+ * - 或自定义按钮
110
+ * - tips button type submit 可直接触发提交
111
+ * @default true
112
+ */
113
+ footerButtons?: boolean | ReactNode;
114
+ /**
115
+ * 提交按钮文本
116
+ * @default '提交'
117
+ */
118
+ submitText?: ReactNode;
119
+ /**
120
+ * 取消按钮文本
121
+ * @default '取消'
122
+ */
123
+ cancelText?: ReactNode;
124
+ /**
125
+ * 取消按钮回调
126
+ */
127
+ onCancel?: () => void;
128
+ /**
129
+ * 按钮容器类名
130
+ */
131
+ buttonClassName?: string;
132
+ /**
133
+ * 提交按钮属性
134
+ */
135
+ submitButtonProps?: Omit<React.ComponentProps<typeof Button>, 'type' | 'onClick' | 'children'>;
136
+ /**
137
+ * 取消按钮属性
138
+ */
139
+ cancelButtonProps?: Omit<React.ComponentProps<typeof Button>, 'onClick' | 'children'>;
140
+ /**
141
+ * 移除字段时保留值
142
+ *
143
+ * @default false
144
+ */
145
+ preserve?: boolean;
146
+ }
147
+ export declare const SchemeForm: {
148
+ <T extends object>({ form, getForm, schemes, className, onFinish, onFinishFailed, initialValues, footerButtons, submitText, cancelText, onCancel, buttonClassName, submitButtonProps, layout, fieldLayout, cancelButtonProps, ...formProps }: SchemeFormProps<T>): import("react/jsx-runtime").JSX.Element;
149
+ displayName: string;
150
+ };
151
+ export default SchemeForm;
152
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,69 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { cn } from '../../../lib/utils';
3
+ import { Suspense, useEffect, useMemo } from 'react';
4
+ import { Form, FormItem, useForm } from '..';
5
+ import { Button } from '../../Button';
6
+ import { Skeleton } from '../../Skeleton';
7
+ import { componentsMap } from './data';
8
+ const renderField = (scheme) => {
9
+ return (value, onChange, meta) => {
10
+ // 如果提供了自定义渲染函数,优先使用
11
+ if (scheme.render) {
12
+ return scheme.render(value, onChange, meta);
13
+ }
14
+ const { type = 'input' } = scheme;
15
+ const Component = componentsMap[type];
16
+ const { fieldProps } = scheme;
17
+ return (_jsxs(Suspense, { fallback: _jsx(Skeleton, { mode: "componentsloading", rows: 2 }), children: [_jsx(Component, { value: value, onChange: onChange, ...fieldProps }), scheme.affterNode] }));
18
+ };
19
+ };
20
+ export const SchemeForm = ({ form, getForm, schemes, className, onFinish, onFinishFailed, initialValues, footerButtons = true, submitText = '提交', cancelText = '取消', onCancel, buttonClassName, submitButtonProps, layout = 'vertical', fieldLayout = 'vertical', cancelButtonProps,
21
+ // preserve = false,
22
+ ...formProps }) => {
23
+ const [f] = useForm();
24
+ useEffect(() => {
25
+ getForm?.(f);
26
+ }, []);
27
+ const usedForm = form ?? f;
28
+ const handleCancel = () => {
29
+ if (onCancel) {
30
+ onCancel();
31
+ }
32
+ else {
33
+ // 如果没有提供 onCancel,默认重置表单
34
+ usedForm?.resetFields();
35
+ }
36
+ };
37
+ const { formClassName, fieldClassName, isHorizontal } = useMemo(() => {
38
+ return {
39
+ formClassName: cn(layout === 'horizontal' ? 'flex gap-4 items-start flex-wrap' : ''),
40
+ fieldClassName: cn('min-w-[255px]', layout === 'horizontal' ? '' : 'mb-5'),
41
+ isHorizontal: layout === 'horizontal',
42
+ };
43
+ }, [layout]);
44
+ const renderSchemes = (schemes) => {
45
+ return schemes.map((scheme, index) => {
46
+ const { type = 'input' } = scheme;
47
+ if (type !== 'group') {
48
+ const { name, label, rules, required, className: itemClassName, labelClassName, errorClassName, showError, layout: schemeFieldLayout, } = scheme;
49
+ const fLayout = schemeFieldLayout ?? fieldLayout;
50
+ const fRequired = required ??
51
+ rules?.some((r) => {
52
+ const rData = typeof r === 'function' ? r(usedForm) : r;
53
+ return rData.required;
54
+ });
55
+ const fiKey = (Array.isArray(name) ? `field-${index}-${name.join('_')}` : name);
56
+ return (_jsx(FormItem, { name: name, label: label, rules: rules, layout: fLayout, required: fRequired, className: cn(fieldClassName, itemClassName), labelClassName: labelClassName, errorClassName: errorClassName, showError: showError, children: renderField(scheme) }, fiKey));
57
+ }
58
+ else if (type === 'group') {
59
+ const s = scheme;
60
+ const fiKey = (Array.isArray(name) ? `field-group-${index}-${name.join('_')}` : name);
61
+ return (_jsx("div", { className: "field-group-container", ...s.fieldProps, children: renderSchemes(s.childrens) }, fiKey));
62
+ }
63
+ return null;
64
+ });
65
+ };
66
+ return (_jsxs(Form, { form: usedForm, onFinish: onFinish, onFinishFailed: onFinishFailed, initialValues: initialValues, className: cn(formClassName, className), ...formProps, children: [renderSchemes(schemes), footerButtons && !isHorizontal ? (typeof footerButtons === 'boolean' ? (_jsxs("div", { className: cn('flex items-center gap-4', buttonClassName), children: [_jsx(Button, { type: "button", onClick: handleCancel, ...cancelButtonProps, children: cancelText }), _jsx(Button, { type: "submit", variant: "primary", ...submitButtonProps, children: submitText })] })) : (footerButtons)) : undefined] }));
67
+ };
68
+ SchemeForm.displayName = 'SchemeForm';
69
+ export default SchemeForm;
@@ -0,0 +1,5 @@
1
+ export * from './Form';
2
+ export * from './FormItem';
3
+ export * from './useForm';
4
+ export * from './SchemeForm';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,4 @@
1
+ export * from './Form';
2
+ export * from './FormItem';
3
+ export * from './useForm';
4
+ export * from './SchemeForm';
@@ -0,0 +1,3 @@
1
+ export { useForm } from 'rc-field-form';
2
+ export type { FormInstance } from 'rc-field-form';
3
+ //# sourceMappingURL=useForm.d.ts.map
@@ -0,0 +1 @@
1
+ export { useForm } from 'rc-field-form';
@@ -0,0 +1,8 @@
1
+ export type ImagePreviewControllerProps = {
2
+ open: boolean;
3
+ images: string[];
4
+ initialIndex?: number;
5
+ onClose: () => void;
6
+ };
7
+ export declare function ImagePreviewController({ open, images, initialIndex, onClose }: ImagePreviewControllerProps): import("react/jsx-runtime").JSX.Element | null;
8
+ //# sourceMappingURL=ImagePreview.d.ts.map