@_tc/template-core 0.0.1-bate.8 → 0.0.1-bate.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (546) hide show
  1. package/{app → cjs/app}/controller/base.d.ts +1 -2
  2. package/{app → cjs/app}/controller/base.js +0 -2
  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/cjs/app/data/signKey.d.ts +1 -0
  7. package/cjs/app/extend/db.d.ts +2 -0
  8. package/cjs/app/extend/db.js +12 -0
  9. package/cjs/app/extend/generateErrorMessage.d.ts +7 -0
  10. package/{app → cjs/app}/extend/generateErrorMessage.js +3 -0
  11. package/cjs/app/extend/logger.d.ts +11 -0
  12. package/cjs/app/extend/parsingParamsOnUrl.d.ts +2 -0
  13. package/{app → cjs/app}/extend/render-view.d.ts +1 -2
  14. package/{app → cjs/app}/middleware/api-params-verify.d.ts +1 -2
  15. package/{app → cjs/app}/middleware/api-sign-verify.d.ts +1 -2
  16. package/{app → cjs/app}/middleware/error-handle.d.ts +1 -2
  17. package/{app → cjs/app}/middleware/project-handler.d.ts +1 -2
  18. package/cjs/app/middleware.d.ts +5 -0
  19. package/{app → cjs/app}/middleware.js +23 -1
  20. package/cjs/app/router/project.d.ts +4 -0
  21. package/cjs/app/router/view.d.ts +4 -0
  22. package/cjs/app/router-schema/project.d.ts +3 -0
  23. package/cjs/app/service/bese.d.ts +10 -0
  24. package/cjs/app/service/project.d.ts +27 -0
  25. package/cjs/app/service/project.js +42 -0
  26. package/cjs/app/type.d.ts +2 -0
  27. package/cjs/app/typings.d.ts +49 -0
  28. package/cjs/app/view/entry.tpl +30 -0
  29. package/cjs/bundler/dev.d.ts +1 -0
  30. package/{packages/ui/react/components/Form/SchemeForm/data.js → cjs/bundler/dev.js} +30 -9
  31. package/cjs/bundler/index.d.ts +1 -0
  32. package/cjs/bundler/index.js +18 -0
  33. package/cjs/bundler/prod.d.ts +1 -0
  34. package/cjs/bundler/prod.js +19 -0
  35. package/cjs/bundler/utils.d.ts +7 -0
  36. package/cjs/bundler/utils.js +127 -0
  37. package/cjs/index.d.ts +28 -0
  38. package/cjs/packages/core/env.d.ts +15 -0
  39. package/cjs/packages/core/index.d.ts +6 -0
  40. package/{packages → cjs/packages}/core/index.js +24 -0
  41. package/cjs/packages/core/loader/config.d.ts +9 -0
  42. package/{packages → cjs/packages}/core/loader/config.js +14 -0
  43. package/cjs/packages/core/loader/controller.d.ts +17 -0
  44. package/{packages → cjs/packages}/core/loader/controller.js +23 -0
  45. package/cjs/packages/core/loader/extend.d.ts +8 -0
  46. package/{packages → cjs/packages}/core/loader/extend.js +8 -0
  47. package/cjs/packages/core/loader/middleware.d.ts +11 -0
  48. package/cjs/packages/core/loader/middleware.js +38 -0
  49. package/cjs/packages/core/loader/model.d.ts +36 -0
  50. package/{packages → cjs/packages}/core/loader/model.js +43 -0
  51. package/cjs/packages/core/loader/router-schema.d.ts +18 -0
  52. package/{packages → cjs/packages}/core/loader/router-schema.js +16 -0
  53. package/{packages → cjs/packages}/core/loader/router.d.ts +5 -1
  54. package/{packages → cjs/packages}/core/loader/router.js +20 -3
  55. package/cjs/packages/core/loader/service.d.ts +17 -0
  56. package/{packages → cjs/packages}/core/loader/service.js +14 -0
  57. package/cjs/packages/core/paths.d.ts +11 -0
  58. package/{packages → cjs/packages}/core/types.d.ts +1 -1
  59. package/{packages → cjs/packages}/utils/getAllFilesInFolder.d.ts +5 -1
  60. package/cjs/packages/utils/getAllFnReturnValue.d.ts +0 -0
  61. package/cjs/packages/utils/getAllFnReturnValue.js +6 -0
  62. package/cjs/packages/utils/index.d.ts +4 -0
  63. package/{packages → cjs/packages}/utils/loadFile.d.ts +6 -1
  64. package/{packages → cjs/packages}/utils/loadFile.js +9 -0
  65. package/cjs/packages/utils/path.d.ts +24 -0
  66. package/{packages → cjs/packages}/utils/path.js +14 -0
  67. package/cjs/packages/utils/runFileFn.d.ts +5 -0
  68. package/cjs/typings/type.d.ts +4 -0
  69. package/esm/app/controller/base.d.ts +14 -0
  70. package/esm/app/controller/base.js +21 -0
  71. package/esm/app/controller/project.d.ts +12 -0
  72. package/{app → esm/app}/controller/project.js +3 -8
  73. package/esm/app/controller/view.d.ts +9 -0
  74. package/esm/app/controller/view.js +12 -0
  75. package/esm/app/data/signKey.js +1 -0
  76. package/esm/app/extend/db.js +9 -0
  77. package/esm/app/extend/generateErrorMessage.js +12 -0
  78. package/esm/app/extend/logger.js +37 -0
  79. package/esm/app/extend/parsingParamsOnUrl.js +20 -0
  80. package/esm/app/extend/render-view.d.ts +5 -0
  81. package/esm/app/extend/render-view.js +16 -0
  82. package/esm/app/middleware/api-params-verify.d.ts +6 -0
  83. package/esm/app/middleware/api-params-verify.js +58 -0
  84. package/esm/app/middleware/api-sign-verify.d.ts +6 -0
  85. package/esm/app/middleware/api-sign-verify.js +23 -0
  86. package/esm/app/middleware/error-handle.d.ts +6 -0
  87. package/esm/app/middleware/error-handle.js +31 -0
  88. package/esm/app/middleware/project-handler.d.ts +5 -0
  89. package/esm/app/middleware/project-handler.js +19 -0
  90. package/esm/app/middleware.js +55 -0
  91. package/esm/app/router/project.js +6 -0
  92. package/esm/app/router/view.js +3 -0
  93. package/esm/app/router-schema/project.js +31 -0
  94. package/esm/app/service/bese.js +12 -0
  95. package/{app → esm/app}/service/project.js +6 -10
  96. package/esm/app/type.js +1 -0
  97. package/esm/app/typings.js +1 -0
  98. package/esm/app/view/entry.tpl +30 -0
  99. package/esm/bundler/dev.d.ts +2 -0
  100. package/esm/bundler/dev.js +29 -0
  101. package/esm/bundler/index.d.ts +2 -0
  102. package/esm/bundler/index.js +14 -0
  103. package/esm/bundler/prod.d.ts +2 -0
  104. package/esm/bundler/prod.js +16 -0
  105. package/esm/bundler/utils.d.ts +8 -0
  106. package/esm/bundler/utils.js +85 -0
  107. package/esm/index.js +13 -0
  108. package/esm/packages/core/env.js +23 -0
  109. package/esm/packages/core/index.js +109 -0
  110. package/esm/packages/core/loader/config.d.ts +10 -0
  111. package/esm/packages/core/loader/config.js +43 -0
  112. package/esm/packages/core/loader/controller.d.ts +18 -0
  113. package/esm/packages/core/loader/controller.js +38 -0
  114. package/esm/packages/core/loader/extend.d.ts +9 -0
  115. package/esm/packages/core/loader/extend.js +39 -0
  116. package/esm/packages/core/loader/middleware.d.ts +12 -0
  117. package/esm/packages/core/loader/middleware.js +36 -0
  118. package/esm/packages/core/loader/model.d.ts +37 -0
  119. package/esm/packages/core/loader/model.js +127 -0
  120. package/esm/packages/core/loader/router-schema.d.ts +19 -0
  121. package/esm/packages/core/loader/router-schema.js +33 -0
  122. package/esm/packages/core/loader/router.d.ts +9 -0
  123. package/esm/packages/core/loader/router.js +57 -0
  124. package/esm/packages/core/loader/service.d.ts +18 -0
  125. package/esm/packages/core/loader/service.js +28 -0
  126. package/esm/packages/core/paths.js +6 -0
  127. package/esm/packages/core/types.d.ts +75 -0
  128. package/esm/packages/core/types.js +1 -0
  129. package/esm/packages/utils/getAllFilesInFolder.d.ts +10 -0
  130. package/esm/packages/utils/getAllFilesInFolder.js +8 -0
  131. package/esm/packages/utils/getAllFnReturnValue.js +6 -0
  132. package/esm/packages/utils/index.js +4 -0
  133. package/esm/packages/utils/loadFile.d.ts +21 -0
  134. package/esm/packages/utils/loadFile.js +63 -0
  135. package/esm/packages/utils/path.d.ts +25 -0
  136. package/esm/packages/utils/path.js +27 -0
  137. package/esm/packages/utils/runFileFn.js +1 -0
  138. package/esm/typings/type.d.ts +5 -0
  139. package/esm/typings/type.js +1 -0
  140. package/fe/frontend/main.js +6 -0
  141. package/fe/packages/ui/react/assets/table/no-result.svg +5 -0
  142. package/{packages → fe/packages}/ui/react/components/Button/Button.d.ts +24 -0
  143. package/fe/packages/ui/react/components/Button/Button.js +42 -0
  144. package/{packages → fe/packages}/ui/react/components/Button/SumbitButton.d.ts +4 -0
  145. package/fe/packages/ui/react/components/Button/SumbitButton.js +32 -0
  146. package/fe/packages/ui/react/components/Button/index.js +2 -0
  147. package/{packages → fe/packages}/ui/react/components/Checkbox/Checkbox.js +9 -12
  148. package/fe/packages/ui/react/components/Checkbox/index.js +1 -0
  149. package/{packages → fe/packages}/ui/react/components/ConfirmDialog.d.ts +8 -0
  150. package/fe/packages/ui/react/components/ConfirmDialog.js +9 -0
  151. package/fe/packages/ui/react/components/DataTable/ActionBtn.js +13 -0
  152. package/{packages → fe/packages}/ui/react/components/DataTable/data-table.d.ts +19 -0
  153. package/{packages → fe/packages}/ui/react/components/DataTable/data-table.js +23 -26
  154. package/{packages → fe/packages}/ui/react/components/Date/Calendar.d.ts +13 -0
  155. package/fe/packages/ui/react/components/Date/Calendar.js +215 -0
  156. package/{packages → fe/packages}/ui/react/components/Date/Date.d.ts +10 -0
  157. package/fe/packages/ui/react/components/Date/Date.js +178 -0
  158. package/fe/packages/ui/react/components/Date/DateTestPage.js +29 -0
  159. package/fe/packages/ui/react/components/Date/LocaleContext.d.ts +6 -0
  160. package/fe/packages/ui/react/components/Date/LocaleContext.js +8 -0
  161. package/{packages → fe/packages}/ui/react/components/Date/LocaleProvider.d.ts +11 -0
  162. package/fe/packages/ui/react/components/Date/LocaleProvider.js +24 -0
  163. package/fe/packages/ui/react/components/Date/TimePicker.js +76 -0
  164. package/fe/packages/ui/react/components/Date/data.js +4 -0
  165. package/{packages → fe/packages}/ui/react/components/Date/dateLocaleStore.d.ts +6 -0
  166. package/fe/packages/ui/react/components/Date/dateLocaleStore.js +14 -0
  167. package/fe/packages/ui/react/components/Date/index.js +5 -0
  168. package/{packages → fe/packages}/ui/react/components/Date/locales.d.ts +19 -0
  169. package/{packages → fe/packages}/ui/react/components/Date/locales.js +16 -6
  170. package/fe/packages/ui/react/components/Dropdown.js +54 -0
  171. package/{packages → fe/packages}/ui/react/components/Form/Form.d.ts +6 -0
  172. package/fe/packages/ui/react/components/Form/Form.js +8 -0
  173. package/{packages → fe/packages}/ui/react/components/Form/FormItem.d.ts +21 -0
  174. package/fe/packages/ui/react/components/Form/FormItem.js +43 -0
  175. package/fe/packages/ui/react/components/Form/SchemeForm/data.js +8 -0
  176. package/{packages → fe/packages}/ui/react/components/Form/SchemeForm/index.d.ts +93 -0
  177. package/fe/packages/ui/react/components/Form/SchemeForm/index.js +69 -0
  178. package/fe/packages/ui/react/components/Form/index.js +4 -0
  179. package/fe/packages/ui/react/components/Form/useForm.js +1 -0
  180. package/{packages → fe/packages}/ui/react/components/ImagePreview/ImagePreview.js +46 -41
  181. package/{packages → fe/packages}/ui/react/components/ImagePreview/PreviewImage.d.ts +3 -0
  182. package/fe/packages/ui/react/components/ImagePreview/PreviewImage.js +25 -0
  183. package/fe/packages/ui/react/components/ImagePreview/index.js +2 -0
  184. package/{packages → fe/packages}/ui/react/components/Input/Input.d.ts +20 -0
  185. package/fe/packages/ui/react/components/Input/Input.js +60 -0
  186. package/fe/packages/ui/react/components/Input/index.js +1 -0
  187. package/{packages → fe/packages}/ui/react/components/Label/Label.d.ts +29 -0
  188. package/fe/packages/ui/react/components/Label/Label.js +35 -0
  189. package/fe/packages/ui/react/components/Label/index.js +2 -0
  190. package/{packages → fe/packages}/ui/react/components/Message/Message.d.ts +7 -0
  191. package/fe/packages/ui/react/components/Message/Message.js +55 -0
  192. package/{packages → fe/packages}/ui/react/components/Message/MessageManager.js +26 -21
  193. package/fe/packages/ui/react/components/Message/data.js +1 -0
  194. package/fe/packages/ui/react/components/Message/index.js +1 -0
  195. package/{packages → fe/packages}/ui/react/components/Modal/Modal.d.ts +6 -0
  196. package/fe/packages/ui/react/components/Modal/Modal.js +51 -0
  197. package/{packages → fe/packages}/ui/react/components/Modal/ModalManager.d.ts +12 -0
  198. package/{packages → fe/packages}/ui/react/components/Modal/ModalManager.js +22 -23
  199. package/fe/packages/ui/react/components/Modal/index.js +2 -0
  200. package/{packages → fe/packages}/ui/react/components/Pagination.d.ts +7 -0
  201. package/{packages → fe/packages}/ui/react/components/Pagination.js +19 -15
  202. package/{packages → fe/packages}/ui/react/components/Search/Search.d.ts +3 -0
  203. package/fe/packages/ui/react/components/Search/Search.js +12 -0
  204. package/fe/packages/ui/react/components/Search/index.js +1 -0
  205. package/{packages → fe/packages}/ui/react/components/Select/Select.d.ts +2 -0
  206. package/fe/packages/ui/react/components/Select/Select.js +180 -0
  207. package/fe/packages/ui/react/components/Select/index.js +1 -0
  208. package/{packages → fe/packages}/ui/react/components/Skeleton/Skeleton.d.ts +15 -0
  209. package/fe/packages/ui/react/components/Skeleton/Skeleton.js +31 -0
  210. package/fe/packages/ui/react/components/Skeleton/index.js +1 -0
  211. package/fe/packages/ui/react/components/Switch/Switch.js +20 -0
  212. package/fe/packages/ui/react/components/Switch/index.js +1 -0
  213. package/{packages → fe/packages}/ui/react/components/TableSearch/TableSearch.d.ts +37 -0
  214. package/{packages → fe/packages}/ui/react/components/TableSearch/TableSearch.js +22 -23
  215. package/fe/packages/ui/react/components/TableSearch/index.js +1 -0
  216. package/fe/packages/ui/react/components/TableSearch/lang.js +23 -0
  217. package/fe/packages/ui/react/components/TableSearch/tableSearchLocaleStore.js +11 -0
  218. package/{packages → fe/packages}/ui/react/components/Textarea.d.ts +40 -0
  219. package/fe/packages/ui/react/components/Textarea.js +35 -0
  220. package/{packages → fe/packages}/ui/react/components/Tooltip.d.ts +16 -0
  221. package/{packages → fe/packages}/ui/react/components/Tooltip.js +26 -16
  222. package/{packages → fe/packages}/ui/react/components/TreeSelect.d.ts +6 -0
  223. package/{packages → fe/packages}/ui/react/components/TreeSelect.js +27 -24
  224. package/{packages → fe/packages}/ui/react/components/Upload/ImageUpload.js +11 -14
  225. package/{packages → fe/packages}/ui/react/components/Upload/Upload.d.ts +27 -0
  226. package/fe/packages/ui/react/components/Upload/Upload.js +5 -0
  227. package/fe/packages/ui/react/components/Upload/index.js +2 -0
  228. package/fe/packages/ui/react/components/breadcrumb.js +78 -0
  229. package/{packages → fe/packages}/ui/react/components/hooks/useInputController.d.ts +3 -0
  230. package/{packages → fe/packages}/ui/react/components/hooks/useInputController.js +15 -12
  231. package/fe/packages/ui/react/components/index.js +23 -0
  232. package/fe/packages/ui/react/components/table.js +20 -0
  233. package/fe/packages/ui/react/components/testPage/index.js +118 -0
  234. package/fe/packages/ui/react/hooks/useBreadcrumb.js +2 -0
  235. package/fe/packages/ui/react/hooks/useInit.js +9 -0
  236. package/fe/packages/ui/react/hooks/useLanguage.js +4 -0
  237. package/{packages → fe/packages}/ui/react/hooks/usePagination.js +7 -13
  238. package/fe/packages/ui/react/index.js +4 -0
  239. package/fe/packages/ui/react/lib/export.d.ts +66 -0
  240. package/{packages → fe/packages}/ui/react/lib/export.js +52 -49
  241. package/fe/packages/ui/react/lib/utils.d.ts +34 -0
  242. package/{packages → fe/packages}/ui/react/lib/utils.js +33 -15
  243. package/fe/packages/ui/react/locales/index.js +6 -0
  244. package/{packages → fe/packages}/ui/react/stores/breadcrumb.js +6 -7
  245. package/{packages → fe/packages}/ui/react/stores/language.js +14 -17
  246. package/fe/packages/ui/react/types/index.js +1 -0
  247. package/package.json +31 -12
  248. package/app/controller/base.d.ts.map +0 -1
  249. package/app/controller/project.d.ts.map +0 -1
  250. package/app/controller/view.d.ts.map +0 -1
  251. package/app/data/signKey.d.ts.map +0 -1
  252. package/app/extend/db.d.ts.map +0 -1
  253. package/app/extend/db.js +0 -7
  254. package/app/extend/generateErrorMessage.d.ts.map +0 -1
  255. package/app/extend/logger.d.ts.map +0 -1
  256. package/app/extend/parsingParamsOnUrl.d.ts.map +0 -1
  257. package/app/extend/render-view.d.ts.map +0 -1
  258. package/app/middleware/api-params-verify.d.ts.map +0 -1
  259. package/app/middleware/api-sign-verify.d.ts.map +0 -1
  260. package/app/middleware/error-handle.d.ts.map +0 -1
  261. package/app/middleware/project-handler.d.ts.map +0 -1
  262. package/app/middleware.d.ts.map +0 -1
  263. package/app/pages/main.d.ts.map +0 -1
  264. package/app/pages/main.js +0 -9
  265. package/app/router/project.d.ts.map +0 -1
  266. package/app/router/view.d.ts.map +0 -1
  267. package/app/router-schema/project.d.ts.map +0 -1
  268. package/app/service/bese.d.ts.map +0 -1
  269. package/app/service/project.d.ts.map +0 -1
  270. package/app/type.d.ts.map +0 -1
  271. package/app/typings.d.ts.map +0 -1
  272. package/app/vite/config/base.d.ts +0 -6
  273. package/app/vite/config/base.js +0 -96
  274. package/app/vite/config/data.d.ts +0 -3
  275. package/app/vite/config/data.js +0 -11
  276. package/app/vite/config/dev.d.ts +0 -11
  277. package/app/vite/config/dev.js +0 -15
  278. package/app/vite/config/prod.d.ts +0 -17
  279. package/app/vite/config/prod.js +0 -34
  280. package/app/vite/dev.d.ts +0 -2
  281. package/app/vite/dev.js +0 -29
  282. package/app/vite/index.d.ts +0 -1
  283. package/app/vite/index.js +0 -13
  284. package/app/vite/package.json +0 -10
  285. package/app/vite/prod.d.ts +0 -1
  286. package/app/vite/prod.js +0 -82
  287. package/index.d.ts.map +0 -1
  288. package/model/index.d.ts +0 -2
  289. package/model/index.d.ts.map +0 -1
  290. package/model/index.js +0 -6
  291. package/model/test.d.ts +0 -6
  292. package/model/test.d.ts.map +0 -1
  293. package/model/test.js +0 -5
  294. package/model/test2.d.ts +0 -6
  295. package/model/test2.d.ts.map +0 -1
  296. package/model/test2.js +0 -5
  297. package/packages/core/env.d.ts.map +0 -1
  298. package/packages/core/index.d.ts.map +0 -1
  299. package/packages/core/loader/config.d.ts +0 -4
  300. package/packages/core/loader/config.d.ts.map +0 -1
  301. package/packages/core/loader/controller.d.ts +0 -4
  302. package/packages/core/loader/controller.d.ts.map +0 -1
  303. package/packages/core/loader/extend.d.ts +0 -4
  304. package/packages/core/loader/extend.d.ts.map +0 -1
  305. package/packages/core/loader/middleware.d.ts +0 -4
  306. package/packages/core/loader/middleware.d.ts.map +0 -1
  307. package/packages/core/loader/middleware.js +0 -15
  308. package/packages/core/loader/model.d.ts +0 -15
  309. package/packages/core/loader/model.d.ts.map +0 -1
  310. package/packages/core/loader/router-schema.d.ts +0 -4
  311. package/packages/core/loader/router-schema.d.ts.map +0 -1
  312. package/packages/core/loader/router.d.ts.map +0 -1
  313. package/packages/core/loader/service.d.ts +0 -4
  314. package/packages/core/loader/service.d.ts.map +0 -1
  315. package/packages/core/paths.d.ts.map +0 -1
  316. package/packages/core/types.d.ts.map +0 -1
  317. package/packages/ui/react/components/Button/Button.d.ts.map +0 -1
  318. package/packages/ui/react/components/Button/Button.js +0 -35
  319. package/packages/ui/react/components/Button/SumbitButton.d.ts.map +0 -1
  320. package/packages/ui/react/components/Button/SumbitButton.js +0 -31
  321. package/packages/ui/react/components/Button/index.d.ts.map +0 -1
  322. package/packages/ui/react/components/Button/index.js +0 -20
  323. package/packages/ui/react/components/Checkbox/Checkbox.d.ts.map +0 -1
  324. package/packages/ui/react/components/Checkbox/index.d.ts.map +0 -1
  325. package/packages/ui/react/components/Checkbox/index.js +0 -17
  326. package/packages/ui/react/components/ConfirmDialog.d.ts.map +0 -1
  327. package/packages/ui/react/components/ConfirmDialog.js +0 -12
  328. package/packages/ui/react/components/DataTable/ActionBtn.d.ts.map +0 -1
  329. package/packages/ui/react/components/DataTable/ActionBtn.js +0 -17
  330. package/packages/ui/react/components/DataTable/data-table.d.ts.map +0 -1
  331. package/packages/ui/react/components/Date/Calendar.d.ts.map +0 -1
  332. package/packages/ui/react/components/Date/Calendar.js +0 -209
  333. package/packages/ui/react/components/Date/Date.d.ts.map +0 -1
  334. package/packages/ui/react/components/Date/Date.js +0 -160
  335. package/packages/ui/react/components/Date/DateTestPage.d.ts.map +0 -1
  336. package/packages/ui/react/components/Date/DateTestPage.js +0 -32
  337. package/packages/ui/react/components/Date/LocaleContext.d.ts +0 -2
  338. package/packages/ui/react/components/Date/LocaleContext.d.ts.map +0 -1
  339. package/packages/ui/react/components/Date/LocaleContext.js +0 -8
  340. package/packages/ui/react/components/Date/LocaleProvider.d.ts.map +0 -1
  341. package/packages/ui/react/components/Date/LocaleProvider.js +0 -16
  342. package/packages/ui/react/components/Date/TimePicker.d.ts.map +0 -1
  343. package/packages/ui/react/components/Date/TimePicker.js +0 -78
  344. package/packages/ui/react/components/Date/data.d.ts.map +0 -1
  345. package/packages/ui/react/components/Date/data.js +0 -7
  346. package/packages/ui/react/components/Date/dateLocaleStore.d.ts.map +0 -1
  347. package/packages/ui/react/components/Date/dateLocaleStore.js +0 -17
  348. package/packages/ui/react/components/Date/index.d.ts.map +0 -1
  349. package/packages/ui/react/components/Date/index.js +0 -23
  350. package/packages/ui/react/components/Date/locales.d.ts.map +0 -1
  351. package/packages/ui/react/components/Dropdown.d.ts.map +0 -1
  352. package/packages/ui/react/components/Dropdown.js +0 -55
  353. package/packages/ui/react/components/Form/Form.d.ts.map +0 -1
  354. package/packages/ui/react/components/Form/Form.js +0 -14
  355. package/packages/ui/react/components/Form/FormItem.d.ts.map +0 -1
  356. package/packages/ui/react/components/Form/FormItem.js +0 -75
  357. package/packages/ui/react/components/Form/SchemeForm/data.d.ts.map +0 -1
  358. package/packages/ui/react/components/Form/SchemeForm/index.d.ts.map +0 -1
  359. package/packages/ui/react/components/Form/SchemeForm/index.js +0 -69
  360. package/packages/ui/react/components/Form/index.d.ts.map +0 -1
  361. package/packages/ui/react/components/Form/index.js +0 -20
  362. package/packages/ui/react/components/Form/useForm.d.ts.map +0 -1
  363. package/packages/ui/react/components/Form/useForm.js +0 -5
  364. package/packages/ui/react/components/ImagePreview/ImagePreview.d.ts.map +0 -1
  365. package/packages/ui/react/components/ImagePreview/PreviewImage.d.ts.map +0 -1
  366. package/packages/ui/react/components/ImagePreview/PreviewImage.js +0 -28
  367. package/packages/ui/react/components/ImagePreview/index.d.ts.map +0 -1
  368. package/packages/ui/react/components/ImagePreview/index.js +0 -18
  369. package/packages/ui/react/components/Input/Input.d.ts.map +0 -1
  370. package/packages/ui/react/components/Input/Input.js +0 -60
  371. package/packages/ui/react/components/Input/index.d.ts.map +0 -1
  372. package/packages/ui/react/components/Input/index.js +0 -17
  373. package/packages/ui/react/components/Label/Label.d.ts.map +0 -1
  374. package/packages/ui/react/components/Label/Label.js +0 -36
  375. package/packages/ui/react/components/Label/index.d.ts.map +0 -1
  376. package/packages/ui/react/components/Label/index.js +0 -20
  377. package/packages/ui/react/components/Message/Message.d.ts.map +0 -1
  378. package/packages/ui/react/components/Message/Message.js +0 -55
  379. package/packages/ui/react/components/Message/MessageManager.d.ts.map +0 -1
  380. package/packages/ui/react/components/Message/data.d.ts.map +0 -1
  381. package/packages/ui/react/components/Message/data.js +0 -4
  382. package/packages/ui/react/components/Message/index.d.ts.map +0 -1
  383. package/packages/ui/react/components/Message/index.js +0 -5
  384. package/packages/ui/react/components/Modal/Modal.d.ts.map +0 -1
  385. package/packages/ui/react/components/Modal/Modal.js +0 -50
  386. package/packages/ui/react/components/Modal/ModalManager.d.ts.map +0 -1
  387. package/packages/ui/react/components/Modal/index.d.ts.map +0 -1
  388. package/packages/ui/react/components/Modal/index.js +0 -7
  389. package/packages/ui/react/components/Pagination.d.ts.map +0 -1
  390. package/packages/ui/react/components/Search/Search.d.ts.map +0 -1
  391. package/packages/ui/react/components/Search/Search.js +0 -14
  392. package/packages/ui/react/components/Search/index.d.ts.map +0 -1
  393. package/packages/ui/react/components/Search/index.js +0 -8
  394. package/packages/ui/react/components/Select/Select.d.ts.map +0 -1
  395. package/packages/ui/react/components/Select/Select.js +0 -166
  396. package/packages/ui/react/components/Select/index.d.ts.map +0 -1
  397. package/packages/ui/react/components/Select/index.js +0 -17
  398. package/packages/ui/react/components/Skeleton/Skeleton.d.ts.map +0 -1
  399. package/packages/ui/react/components/Skeleton/Skeleton.js +0 -35
  400. package/packages/ui/react/components/Skeleton/index.d.ts.map +0 -1
  401. package/packages/ui/react/components/Skeleton/index.js +0 -5
  402. package/packages/ui/react/components/Switch/Switch.d.ts.map +0 -1
  403. package/packages/ui/react/components/Switch/Switch.js +0 -56
  404. package/packages/ui/react/components/Switch/index.d.ts.map +0 -1
  405. package/packages/ui/react/components/Switch/index.js +0 -17
  406. package/packages/ui/react/components/TableSearch/TableSearch.d.ts.map +0 -1
  407. package/packages/ui/react/components/TableSearch/index.d.ts.map +0 -1
  408. package/packages/ui/react/components/TableSearch/index.js +0 -8
  409. package/packages/ui/react/components/TableSearch/lang.d.ts.map +0 -1
  410. package/packages/ui/react/components/TableSearch/lang.js +0 -27
  411. package/packages/ui/react/components/TableSearch/tableSearchLocaleStore.d.ts.map +0 -1
  412. package/packages/ui/react/components/TableSearch/tableSearchLocaleStore.js +0 -14
  413. package/packages/ui/react/components/Textarea.d.ts.map +0 -1
  414. package/packages/ui/react/components/Textarea.js +0 -37
  415. package/packages/ui/react/components/Tooltip.d.ts.map +0 -1
  416. package/packages/ui/react/components/TreeSelect.d.ts.map +0 -1
  417. package/packages/ui/react/components/Upload/ImageUpload.d.ts.map +0 -1
  418. package/packages/ui/react/components/Upload/Upload.d.ts.map +0 -1
  419. package/packages/ui/react/components/Upload/Upload.js +0 -8
  420. package/packages/ui/react/components/Upload/index.d.ts.map +0 -1
  421. package/packages/ui/react/components/Upload/index.js +0 -18
  422. package/packages/ui/react/components/breadcrumb.d.ts.map +0 -1
  423. package/packages/ui/react/components/breadcrumb.js +0 -79
  424. package/packages/ui/react/components/hooks/useInputController.d.ts.map +0 -1
  425. package/packages/ui/react/components/index.d.ts.map +0 -1
  426. package/packages/ui/react/components/index.js +0 -39
  427. package/packages/ui/react/components/table.d.ts.map +0 -1
  428. package/packages/ui/react/components/table.js +0 -63
  429. package/packages/ui/react/components/testPage/index.d.ts.map +0 -1
  430. package/packages/ui/react/components/testPage/index.js +0 -123
  431. package/packages/ui/react/hooks/useBreadcrumb.d.ts.map +0 -1
  432. package/packages/ui/react/hooks/useBreadcrumb.js +0 -5
  433. package/packages/ui/react/hooks/useInit.d.ts.map +0 -1
  434. package/packages/ui/react/hooks/useInit.js +0 -11
  435. package/packages/ui/react/hooks/useLanguage.d.ts.map +0 -1
  436. package/packages/ui/react/hooks/useLanguage.js +0 -7
  437. package/packages/ui/react/hooks/usePagination.d.ts.map +0 -1
  438. package/packages/ui/react/index.d.ts.map +0 -1
  439. package/packages/ui/react/index.js +0 -18
  440. package/packages/ui/react/lib/export.d.ts +0 -22
  441. package/packages/ui/react/lib/export.d.ts.map +0 -1
  442. package/packages/ui/react/lib/utils.d.ts +0 -10
  443. package/packages/ui/react/lib/utils.d.ts.map +0 -1
  444. package/packages/ui/react/locales/index.d.ts.map +0 -1
  445. package/packages/ui/react/locales/index.js +0 -9
  446. package/packages/ui/react/stores/breadcrumb.d.ts.map +0 -1
  447. package/packages/ui/react/stores/language.d.ts.map +0 -1
  448. package/packages/ui/react/types/index.d.ts.map +0 -1
  449. package/packages/ui/react/types/index.js +0 -2
  450. package/packages/utils/getAllFilesInFolder.d.ts.map +0 -1
  451. package/packages/utils/getAllFnReturnValue.d.ts.map +0 -1
  452. package/packages/utils/getAllFnReturnValue.js +0 -1
  453. package/packages/utils/index.d.ts.map +0 -1
  454. package/packages/utils/loadFile.d.ts.map +0 -1
  455. package/packages/utils/path.d.ts +0 -7
  456. package/packages/utils/path.d.ts.map +0 -1
  457. package/packages/utils/runFileFn.d.ts.map +0 -1
  458. package/typings/type.d.ts +0 -2
  459. package/typings/type.d.ts.map +0 -1
  460. /package/{app → cjs/app}/controller/view.js +0 -0
  461. /package/{app → cjs/app}/data/signKey.js +0 -0
  462. /package/{app → cjs/app}/extend/logger.js +0 -0
  463. /package/{app → cjs/app}/extend/parsingParamsOnUrl.js +0 -0
  464. /package/{app → cjs/app}/extend/render-view.js +0 -0
  465. /package/{app → cjs/app}/middleware/api-params-verify.js +0 -0
  466. /package/{app → cjs/app}/middleware/api-sign-verify.js +0 -0
  467. /package/{app → cjs/app}/middleware/error-handle.js +0 -0
  468. /package/{app → cjs/app}/middleware/project-handler.js +0 -0
  469. /package/{app → cjs/app}/router/project.js +0 -0
  470. /package/{app → cjs/app}/router/view.js +0 -0
  471. /package/{app → cjs/app}/router-schema/project.js +0 -0
  472. /package/{app → cjs/app}/service/bese.js +0 -0
  473. /package/{app → cjs/app}/type.js +0 -0
  474. /package/{app → cjs/app}/typings.js +0 -0
  475. /package/{index.js → cjs/index.js} +0 -0
  476. /package/{packages → cjs/packages}/core/env.js +0 -0
  477. /package/{packages → cjs/packages}/core/paths.js +0 -0
  478. /package/{packages → cjs/packages}/core/types.js +0 -0
  479. /package/{packages → cjs/packages}/utils/getAllFilesInFolder.js +0 -0
  480. /package/{packages → cjs/packages}/utils/index.js +0 -0
  481. /package/{packages → cjs/packages}/utils/runFileFn.js +0 -0
  482. /package/{typings → cjs/typings}/type.js +0 -0
  483. /package/{app → esm/app}/data/signKey.d.ts +0 -0
  484. /package/{app → esm/app}/extend/db.d.ts +0 -0
  485. /package/{app → esm/app}/extend/generateErrorMessage.d.ts +0 -0
  486. /package/{app → esm/app}/extend/logger.d.ts +0 -0
  487. /package/{app → esm/app}/extend/parsingParamsOnUrl.d.ts +0 -0
  488. /package/{app → esm/app}/middleware.d.ts +0 -0
  489. /package/{app → esm/app}/router/project.d.ts +0 -0
  490. /package/{app → esm/app}/router/view.d.ts +0 -0
  491. /package/{app → esm/app}/router-schema/project.d.ts +0 -0
  492. /package/{app → esm/app}/service/bese.d.ts +0 -0
  493. /package/{app → esm/app}/service/project.d.ts +0 -0
  494. /package/{app → esm/app}/type.d.ts +0 -0
  495. /package/{app → esm/app}/typings.d.ts +0 -0
  496. /package/{index.d.ts → esm/index.d.ts} +0 -0
  497. /package/{packages → esm/packages}/core/env.d.ts +0 -0
  498. /package/{packages → esm/packages}/core/index.d.ts +0 -0
  499. /package/{packages → esm/packages}/core/paths.d.ts +0 -0
  500. /package/{packages → esm/packages}/utils/getAllFnReturnValue.d.ts +0 -0
  501. /package/{packages → esm/packages}/utils/index.d.ts +0 -0
  502. /package/{packages → esm/packages}/utils/runFileFn.d.ts +0 -0
  503. /package/{app/pages → fe/frontend}/main.d.ts +0 -0
  504. /package/{packages → fe/packages}/ui/react/components/Button/index.d.ts +0 -0
  505. /package/{packages → fe/packages}/ui/react/components/Checkbox/Checkbox.d.ts +0 -0
  506. /package/{packages → fe/packages}/ui/react/components/Checkbox/index.d.ts +0 -0
  507. /package/{packages → fe/packages}/ui/react/components/DataTable/ActionBtn.d.ts +0 -0
  508. /package/{packages → fe/packages}/ui/react/components/Date/DateTestPage.d.ts +0 -0
  509. /package/{packages → fe/packages}/ui/react/components/Date/TimePicker.d.ts +0 -0
  510. /package/{packages → fe/packages}/ui/react/components/Date/data.d.ts +0 -0
  511. /package/{packages → fe/packages}/ui/react/components/Date/index.d.ts +0 -0
  512. /package/{packages → fe/packages}/ui/react/components/Dropdown.d.ts +0 -0
  513. /package/{packages → fe/packages}/ui/react/components/Form/SchemeForm/data.d.ts +0 -0
  514. /package/{packages → fe/packages}/ui/react/components/Form/index.d.ts +0 -0
  515. /package/{packages → fe/packages}/ui/react/components/Form/useForm.d.ts +0 -0
  516. /package/{packages → fe/packages}/ui/react/components/ImagePreview/ImagePreview.d.ts +0 -0
  517. /package/{packages → fe/packages}/ui/react/components/ImagePreview/index.d.ts +0 -0
  518. /package/{packages → fe/packages}/ui/react/components/Input/index.d.ts +0 -0
  519. /package/{packages → fe/packages}/ui/react/components/Label/index.d.ts +0 -0
  520. /package/{packages → fe/packages}/ui/react/components/Message/MessageManager.d.ts +0 -0
  521. /package/{packages → fe/packages}/ui/react/components/Message/data.d.ts +0 -0
  522. /package/{packages → fe/packages}/ui/react/components/Message/index.d.ts +0 -0
  523. /package/{packages → fe/packages}/ui/react/components/Modal/index.d.ts +0 -0
  524. /package/{packages → fe/packages}/ui/react/components/Search/index.d.ts +0 -0
  525. /package/{packages → fe/packages}/ui/react/components/Select/index.d.ts +0 -0
  526. /package/{packages → fe/packages}/ui/react/components/Skeleton/index.d.ts +0 -0
  527. /package/{packages → fe/packages}/ui/react/components/Switch/Switch.d.ts +0 -0
  528. /package/{packages → fe/packages}/ui/react/components/Switch/index.d.ts +0 -0
  529. /package/{packages → fe/packages}/ui/react/components/TableSearch/index.d.ts +0 -0
  530. /package/{packages → fe/packages}/ui/react/components/TableSearch/lang.d.ts +0 -0
  531. /package/{packages → fe/packages}/ui/react/components/TableSearch/tableSearchLocaleStore.d.ts +0 -0
  532. /package/{packages → fe/packages}/ui/react/components/Upload/ImageUpload.d.ts +0 -0
  533. /package/{packages → fe/packages}/ui/react/components/Upload/index.d.ts +0 -0
  534. /package/{packages → fe/packages}/ui/react/components/breadcrumb.d.ts +0 -0
  535. /package/{packages → fe/packages}/ui/react/components/index.d.ts +0 -0
  536. /package/{packages → fe/packages}/ui/react/components/table.d.ts +0 -0
  537. /package/{packages → fe/packages}/ui/react/components/testPage/index.d.ts +0 -0
  538. /package/{packages → fe/packages}/ui/react/hooks/useBreadcrumb.d.ts +0 -0
  539. /package/{packages → fe/packages}/ui/react/hooks/useInit.d.ts +0 -0
  540. /package/{packages → fe/packages}/ui/react/hooks/useLanguage.d.ts +0 -0
  541. /package/{packages → fe/packages}/ui/react/hooks/usePagination.d.ts +0 -0
  542. /package/{packages → fe/packages}/ui/react/index.d.ts +0 -0
  543. /package/{packages → fe/packages}/ui/react/locales/index.d.ts +0 -0
  544. /package/{packages → fe/packages}/ui/react/stores/breadcrumb.d.ts +0 -0
  545. /package/{packages → fe/packages}/ui/react/stores/language.d.ts +0 -0
  546. /package/{packages → fe/packages}/ui/react/types/index.d.ts +0 -0
@@ -1,15 +1,12 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Tooltip = Tooltip;
4
- const jsx_runtime_1 = require("react/jsx-runtime");
5
- const utils_1 = require("../lib/utils");
6
- const react_1 = require("react");
7
- const react_dom_1 = require("react-dom");
8
- function Tooltip({ content, children, placement = 'right', visible, className }) {
9
- const [isVisible, setIsVisible] = (0, react_1.useState)(false);
10
- const [position, setPosition] = (0, react_1.useState)({ top: 0, left: 0 });
11
- const triggerRef = (0, react_1.useRef)(null);
12
- const tooltipRef = (0, react_1.useRef)(null);
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { cn } from '../lib/utils';
3
+ import { useState, useRef, useEffect } from 'react';
4
+ import { createPortal } from 'react-dom';
5
+ export function Tooltip({ content, children, placement = 'right', visible, className }) {
6
+ const [isVisible, setIsVisible] = useState(false);
7
+ const [position, setPosition] = useState({ top: 0, left: 0 });
8
+ const triggerRef = useRef(null);
9
+ const tooltipRef = useRef(null);
13
10
  const showTooltip = () => {
14
11
  if (visible !== undefined) {
15
12
  setIsVisible(visible);
@@ -23,13 +20,14 @@ function Tooltip({ content, children, placement = 'right', visible, className })
23
20
  setIsVisible(false);
24
21
  }
25
22
  };
26
- (0, react_1.useEffect)(() => {
23
+ useEffect(() => {
27
24
  if (visible !== undefined) {
28
25
  setIsVisible(visible);
29
26
  }
30
27
  }, [visible]);
31
- (0, react_1.useEffect)(() => {
28
+ useEffect(() => {
32
29
  if (isVisible && triggerRef.current && tooltipRef.current) {
30
+ // 使用 requestAnimationFrame 确保 DOM 已更新
33
31
  requestAnimationFrame(() => {
34
32
  if (!triggerRef.current || !tooltipRef.current)
35
33
  return;
@@ -46,12 +44,15 @@ function Tooltip({ content, children, placement = 'right', visible, className })
46
44
  case 'top':
47
45
  top = triggerRect.top + scrollY - tooltipRect.height - padding;
48
46
  left = triggerRect.left + scrollX + triggerRect.width / 2 - tooltipRect.width / 2;
47
+ // 如果超出左边界,对齐到左边界
49
48
  if (left < scrollX + padding) {
50
49
  left = scrollX + padding;
51
50
  }
51
+ // 如果超出右边界,对齐到右边界
52
52
  if (left + tooltipRect.width > scrollX + viewportWidth - padding) {
53
53
  left = scrollX + viewportWidth - tooltipRect.width - padding;
54
54
  }
55
+ // 如果上方空间不够,改为下方显示
55
56
  if (top < scrollY + padding) {
56
57
  top = triggerRect.bottom + scrollY + padding;
57
58
  }
@@ -59,12 +60,15 @@ function Tooltip({ content, children, placement = 'right', visible, className })
59
60
  case 'bottom':
60
61
  top = triggerRect.bottom + scrollY + padding;
61
62
  left = triggerRect.left + scrollX + triggerRect.width / 2 - tooltipRect.width / 2;
63
+ // 如果超出左边界,对齐到左边界
62
64
  if (left < scrollX + padding) {
63
65
  left = scrollX + padding;
64
66
  }
67
+ // 如果超出右边界,对齐到右边界
65
68
  if (left + tooltipRect.width > scrollX + viewportWidth - padding) {
66
69
  left = scrollX + viewportWidth - tooltipRect.width - padding;
67
70
  }
71
+ // 如果下方空间不够,改为上方显示
68
72
  if (top + tooltipRect.height > scrollY + viewportHeight - padding) {
69
73
  top = triggerRect.top + scrollY - tooltipRect.height - padding;
70
74
  }
@@ -72,12 +76,15 @@ function Tooltip({ content, children, placement = 'right', visible, className })
72
76
  case 'left':
73
77
  top = triggerRect.top + scrollY + triggerRect.height / 2 - tooltipRect.height / 2;
74
78
  left = triggerRect.left + scrollX - tooltipRect.width - padding;
79
+ // 如果超出上边界,对齐到上边界
75
80
  if (top < scrollY + padding) {
76
81
  top = scrollY + padding;
77
82
  }
83
+ // 如果超出下边界,对齐到下边界
78
84
  if (top + tooltipRect.height > scrollY + viewportHeight - padding) {
79
85
  top = scrollY + viewportHeight - tooltipRect.height - padding;
80
86
  }
87
+ // 如果左侧空间不够,改为右侧显示
81
88
  if (left < scrollX + padding) {
82
89
  left = triggerRect.right + scrollX + padding;
83
90
  }
@@ -85,12 +92,15 @@ function Tooltip({ content, children, placement = 'right', visible, className })
85
92
  case 'right':
86
93
  top = triggerRect.top + scrollY + triggerRect.height / 2 - tooltipRect.height / 2;
87
94
  left = triggerRect.right + scrollX + padding;
95
+ // 如果超出上边界,对齐到上边界
88
96
  if (top < scrollY + padding) {
89
97
  top = scrollY + padding;
90
98
  }
99
+ // 如果超出下边界,对齐到下边界
91
100
  if (top + tooltipRect.height > scrollY + viewportHeight - padding) {
92
101
  top = scrollY + viewportHeight - tooltipRect.height - padding;
93
102
  }
103
+ // 如果右侧空间不够,改为左侧显示
94
104
  if (left + tooltipRect.width > scrollX + viewportWidth - padding) {
95
105
  left = triggerRect.left + scrollX - tooltipRect.width - padding;
96
106
  }
@@ -100,8 +110,8 @@ function Tooltip({ content, children, placement = 'right', visible, className })
100
110
  });
101
111
  }
102
112
  }, [isVisible, placement]);
103
- return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("div", { ref: triggerRef, onMouseEnter: showTooltip, onMouseLeave: hideTooltip, className: "inline-block", children: children }), isVisible &&
104
- (0, react_dom_1.createPortal)((0, jsx_runtime_1.jsx)("div", { ref: tooltipRef, className: (0, utils_1.cn)('fixed z-[9999] px-3 py-2', 'bg-gray-800 text-white text-xs rounded', 'shadow-lg', 'pointer-events-none', 'max-w-xs', className), style: {
113
+ return (_jsxs(_Fragment, { children: [_jsx("div", { ref: triggerRef, onMouseEnter: showTooltip, onMouseLeave: hideTooltip, className: "inline-block", children: children }), isVisible &&
114
+ createPortal(_jsx("div", { ref: tooltipRef, className: cn('fixed z-[9999] px-3 py-2', 'bg-gray-800 text-white text-xs rounded', 'shadow-lg', 'pointer-events-none', 'max-w-xs', className), style: {
105
115
  top: `${position.top}px`,
106
116
  left: `${position.left}px`,
107
117
  }, children: content }), document.body)] }));
@@ -5,14 +5,20 @@ export interface TreeNode {
5
5
  children?: TreeNode[];
6
6
  }
7
7
  export interface TreeSelectProps {
8
+ /** 树形数据 */
8
9
  data: TreeNode[];
10
+ /** 已选中的节点 ID 数组 */
9
11
  value?: (string | number)[];
12
+ /** 选中状态改变回调,返回选中的 keys 和半选的 keys */
10
13
  onChange?: (keys: {
11
14
  checked: (string | number)[];
12
15
  indeterminate: (string | number)[];
13
16
  }) => void;
17
+ /** 节点文本字段名 */
14
18
  labelField?: 'name' | 'desctext';
19
+ /** 是否可以选择 */
15
20
  checkable?: boolean;
21
+ /** 自定义类名 */
16
22
  className?: string;
17
23
  }
18
24
  export declare function TreeSelect({ data, value, onChange, labelField, checkable, className, }: TreeSelectProps): import("react/jsx-runtime").JSX.Element;
@@ -1,13 +1,10 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TreeSelect = TreeSelect;
4
- const jsx_runtime_1 = require("react/jsx-runtime");
5
- const utils_1 = require("../lib/utils");
6
- const lucide_react_1 = require("lucide-react");
7
- const react_1 = require("react");
8
- function TreeSelect({ data, value = [], onChange, labelField = 'name', checkable = true, className, }) {
9
- const [expandedKeys, setExpandedKeys] = (0, react_1.useState)(new Set());
10
- const { nodeMap, parentMap } = (0, react_1.useMemo)(() => {
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { cn } from '../lib/utils';
3
+ import { Check, ChevronDown, ChevronRight } from 'lucide-react';
4
+ import { useCallback, useMemo, useState } from 'react';
5
+ export function TreeSelect({ data, value = [], onChange, labelField = 'name', checkable = true, className, }) {
6
+ const [expandedKeys, setExpandedKeys] = useState(new Set());
7
+ const { nodeMap, parentMap } = useMemo(() => {
11
8
  const nodeM = new Map();
12
9
  const parentM = new Map();
13
10
  const traverse = (nodes, parentId) => {
@@ -22,7 +19,8 @@ function TreeSelect({ data, value = [], onChange, labelField = 'name', checkable
22
19
  traverse(data, null);
23
20
  return { nodeMap: nodeM, parentMap: parentM };
24
21
  }, [data]);
25
- const getDescendantIds = (0, react_1.useCallback)((node) => {
22
+ // 获取节点的所有子节点 ID
23
+ const getDescendantIds = useCallback((node) => {
26
24
  const ids = [];
27
25
  const traverse = (n) => {
28
26
  if (n.children && n.children.length > 0) {
@@ -35,7 +33,7 @@ function TreeSelect({ data, value = [], onChange, labelField = 'name', checkable
35
33
  traverse(node);
36
34
  return ids;
37
35
  }, []);
38
- const updateParentSelection = (0, react_1.useCallback)((checkedSet) => {
36
+ const updateParentSelection = useCallback((checkedSet) => {
39
37
  const traverseUp = (nodeId) => {
40
38
  const parentId = parentMap.get(nodeId);
41
39
  if (parentId === undefined || parentId === null)
@@ -55,7 +53,8 @@ function TreeSelect({ data, value = [], onChange, labelField = 'name', checkable
55
53
  };
56
54
  checkedSet.forEach((id) => traverseUp(id));
57
55
  }, [nodeMap, parentMap]);
58
- const toggleExpand = (0, react_1.useCallback)((nodeId) => {
56
+ // 切换展开/折叠
57
+ const toggleExpand = useCallback((nodeId) => {
59
58
  setExpandedKeys((prev) => {
60
59
  const newSet = new Set(prev);
61
60
  if (newSet.has(nodeId)) {
@@ -67,7 +66,7 @@ function TreeSelect({ data, value = [], onChange, labelField = 'name', checkable
67
66
  return newSet;
68
67
  });
69
68
  }, []);
70
- const getIndeterminateKeys = (0, react_1.useCallback)((checkedSet) => {
69
+ const getIndeterminateKeys = useCallback((checkedSet) => {
71
70
  const indeterminateKeys = [];
72
71
  const getDescendantCount = (node) => {
73
72
  if (!node.children || node.children.length === 0) {
@@ -92,7 +91,8 @@ function TreeSelect({ data, value = [], onChange, labelField = 'name', checkable
92
91
  traverse(data);
93
92
  return indeterminateKeys;
94
93
  }, [data]);
95
- const toggleCheck = (0, react_1.useCallback)((node) => {
94
+ // 切换选中状态
95
+ const toggleCheck = useCallback((node) => {
96
96
  if (!checkable || !onChange)
97
97
  return;
98
98
  const isChecked = value.includes(node.id);
@@ -110,10 +110,11 @@ function TreeSelect({ data, value = [], onChange, labelField = 'name', checkable
110
110
  const indeterminateKeys = getIndeterminateKeys(nextChecked);
111
111
  onChange({ checked: Array.from(nextChecked), indeterminate: indeterminateKeys });
112
112
  }, [value, onChange, checkable, getDescendantIds, updateParentSelection, getIndeterminateKeys]);
113
- const isNodeChecked = (0, react_1.useCallback)((nodeId) => {
113
+ // 判断节点是否选中
114
+ const isNodeChecked = useCallback((nodeId) => {
114
115
  return value.includes(nodeId);
115
116
  }, [value]);
116
- const isNodeIndeterminate = (0, react_1.useCallback)((node) => {
117
+ const isNodeIndeterminate = useCallback((node) => {
117
118
  if (!node.children || node.children.length === 0)
118
119
  return false;
119
120
  const getDescendantCount = (n) => {
@@ -128,32 +129,34 @@ function TreeSelect({ data, value = [], onChange, labelField = 'name', checkable
128
129
  const { total, checked } = getDescendantCount(node);
129
130
  return checked > 0 && checked < total;
130
131
  }, [value]);
132
+ // 渲染树节点
131
133
  function renderTreeNode(node, level = 0) {
132
134
  const hasChildren = node.children && node.children.length > 0;
133
135
  const isExpanded = expandedKeys.has(node.id);
134
136
  const isChecked = isNodeChecked(node.id);
135
137
  const isIndeterminate = isNodeIndeterminate(node);
136
- return ((0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsxs)("div", { className: (0, utils_1.cn)('flex items-center gap-2 py-2 px-2 hover:bg-muted/50 rounded-md cursor-pointer transition-colors', 'group'), style: { paddingLeft: `${level * 20 + 8}px` }, children: [hasChildren ? ((0, jsx_runtime_1.jsx)("button", { type: "button", onClick: (e) => {
138
+ return (_jsxs("div", { children: [_jsxs("div", { className: cn('flex items-center gap-2 py-2 px-2 hover:bg-muted/50 rounded-md cursor-pointer transition-colors', 'group'), style: { paddingLeft: `${level * 20 + 8}px` }, children: [hasChildren ? (_jsx("button", { type: "button", onClick: (e) => {
137
139
  e.stopPropagation();
138
140
  toggleExpand(node.id);
139
- }, className: "flex-shrink-0 p-0.5 hover:bg-muted rounded", children: isExpanded ? (0, jsx_runtime_1.jsx)(lucide_react_1.ChevronDown, { className: "h-4 w-4" }) : (0, jsx_runtime_1.jsx)(lucide_react_1.ChevronRight, { className: "h-4 w-4" }) })) : ((0, jsx_runtime_1.jsx)("span", { className: "w-5" })), checkable && ((0, jsx_runtime_1.jsx)("button", { type: "button", onClick: (e) => {
141
+ }, className: "flex-shrink-0 p-0.5 hover:bg-muted rounded", children: isExpanded ? _jsx(ChevronDown, { className: "h-4 w-4" }) : _jsx(ChevronRight, { className: "h-4 w-4" }) })) : (_jsx("span", { className: "w-5" })), checkable && (_jsx("button", { type: "button", onClick: (e) => {
140
142
  e.stopPropagation();
141
143
  toggleCheck(node);
142
- }, className: (0, utils_1.cn)('flex-shrink-0 w-4 h-4 rounded border-2 flex items-center justify-center transition-colors', isChecked
144
+ }, className: cn('flex-shrink-0 w-4 h-4 rounded border-2 flex items-center justify-center transition-colors', isChecked
143
145
  ? 'bg-black border-black'
144
146
  : isIndeterminate
145
147
  ? 'bg-gray-400 border-gray-400'
146
- : 'border-border hover:border-foreground'), children: (isChecked || isIndeterminate) && (0, jsx_runtime_1.jsx)(lucide_react_1.Check, { className: "h-3 w-3 text-white", strokeWidth: 3 }) })), (0, jsx_runtime_1.jsx)("span", { className: "flex-1 text-sm select-none", onClick: () => {
148
+ : 'border-border hover:border-foreground'), children: (isChecked || isIndeterminate) && _jsx(Check, { className: "h-3 w-3 text-white", strokeWidth: 3 }) })), _jsx("span", { className: "flex-1 text-sm select-none", onClick: () => {
147
149
  if (hasChildren) {
148
150
  toggleExpand(node.id);
149
151
  }
150
152
  else {
151
153
  toggleCheck(node);
152
154
  }
153
- }, children: labelField === 'desctext' ? node.desctext || node.name : node.name })] }), hasChildren && isExpanded && (0, jsx_runtime_1.jsx)("div", { children: node.children.map((child) => renderTreeNode(child, level + 1)) })] }, node.id));
155
+ }, children: labelField === 'desctext' ? node.desctext || node.name : node.name })] }), hasChildren && isExpanded && _jsx("div", { children: node.children.map((child) => renderTreeNode(child, level + 1)) })] }, node.id));
154
156
  }
157
+ // 如果没有数据
155
158
  if (!data || data.length === 0) {
156
- return (0, jsx_runtime_1.jsx)("div", { className: (0, utils_1.cn)('p-8 text-center text-sm text-muted-foreground', className), children: "No data" });
159
+ return _jsx("div", { className: cn('p-8 text-center text-sm text-muted-foreground', className), children: "No data" });
157
160
  }
158
- return ((0, jsx_runtime_1.jsx)("div", { className: (0, utils_1.cn)('border border-border rounded-lg p-2 max-h-[400px] overflow-y-auto', className), children: data.map((node) => renderTreeNode(node)) }));
161
+ return (_jsx("div", { className: cn('border border-border rounded-lg p-2 max-h-[400px] overflow-y-auto', className), children: data.map((node) => renderTreeNode(node)) }));
159
162
  }
@@ -1,16 +1,13 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ImageUpload = ImageUpload;
4
- const jsx_runtime_1 = require("react/jsx-runtime");
5
- const lucide_react_1 = require("lucide-react");
6
- const react_1 = require("react");
7
- const Upload_1 = require("./Upload");
8
- function ImageUpload({ accept = '.jpg,.png', maxCount = 1, value, onChange, beforeChange }) {
9
- const inputRef = (0, react_1.useRef)(null);
10
- const [internalUrls, setInternalUrls] = (0, react_1.useState)([]);
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Camera, X } from 'lucide-react';
3
+ import { useEffect, useMemo, useRef, useState } from 'react';
4
+ import { FileUpload } from './Upload';
5
+ export function ImageUpload({ accept = '.jpg,.png', maxCount = 1, value, onChange, beforeChange }) {
6
+ const inputRef = useRef(null);
7
+ const [internalUrls, setInternalUrls] = useState([]);
11
8
  const urls = value ?? internalUrls;
12
9
  const setUrls = onChange ?? setInternalUrls;
13
- const mAccept = (0, react_1.useMemo)(() => {
10
+ const mAccept = useMemo(() => {
14
11
  const aType = accept
15
12
  .split(',')
16
13
  .map((item) => item.trim().replace(/\./g, ''))
@@ -52,15 +49,15 @@ function ImageUpload({ accept = '.jpg,.png', maxCount = 1, value, onChange, befo
52
49
  URL.revokeObjectURL(urlToRemove);
53
50
  setUrls(urls.filter((_, i) => i !== index));
54
51
  };
55
- (0, react_1.useEffect)(() => {
52
+ useEffect(() => {
56
53
  return () => {
57
54
  if (!onChange) {
58
55
  internalUrls.forEach((url) => URL.revokeObjectURL(url));
59
56
  }
60
57
  };
61
58
  }, [onChange, internalUrls]);
62
- return ((0, jsx_runtime_1.jsxs)("div", { className: "flex flex-wrap gap-3", children: [urls.map((url, index) => ((0, jsx_runtime_1.jsxs)("div", { className: "relative w-24 h-24 rounded-lg overflow-hidden border border-gray-200 group cursor-pointer", children: [(0, jsx_runtime_1.jsx)("img", { src: url, alt: "", className: "w-full h-full object-cover" }), (0, jsx_runtime_1.jsx)("div", { className: "absolute inset-0 bg-black/0 group-hover:bg-black/40 transition-colors flex items-center justify-center", children: (0, jsx_runtime_1.jsx)("button", { type: "button", onClick: (e) => {
59
+ return (_jsxs("div", { className: "flex flex-wrap gap-3", children: [urls.map((url, index) => (_jsxs("div", { className: "relative w-24 h-24 rounded-lg overflow-hidden border border-gray-200 group cursor-pointer", children: [_jsx("img", { src: url, alt: "", className: "w-full h-full object-cover" }), _jsx("div", { className: "absolute inset-0 bg-black/0 group-hover:bg-black/40 transition-colors flex items-center justify-center", children: _jsx("button", { type: "button", onClick: (e) => {
63
60
  e.stopPropagation();
64
61
  handleRemove(index);
65
- }, className: "opacity-0 group-hover:opacity-100 transition-opacity p-1.5 rounded-full bg-red-500 hover:bg-red-600 text-white", "aria-label": "\u5220\u9664\u56FE\u7247", title: "\u5220\u9664\u56FE\u7247", children: (0, jsx_runtime_1.jsx)(lucide_react_1.X, { size: 16 }) }) })] }, index))), urls.length < maxCount && ((0, jsx_runtime_1.jsx)(Upload_1.FileUpload, { inputRef: inputRef, accept: mAccept, multiple: maxCount > 1, onChange: handleFileChange, labelClassName: "w-24 h-24 p-0 border-0 cursor-pointer", selectLabel: (0, jsx_runtime_1.jsxs)("div", { className: "w-full h-full rounded-[8px] bg-[#F5F5F5] border border-gray-200 flex flex-col items-center justify-center gap-1 hover:bg-gray-50 transition-colors", children: [(0, jsx_runtime_1.jsx)(lucide_react_1.Camera, { className: "text-gray-500", size: 24 }), (0, jsx_runtime_1.jsx)("span", { className: "text-xs text-gray-500", children: "\u4E0A\u4F20" })] }) }))] }));
62
+ }, className: "opacity-0 group-hover:opacity-100 transition-opacity p-1.5 rounded-full bg-red-500 hover:bg-red-600 text-white", "aria-label": "\u5220\u9664\u56FE\u7247", title: "\u5220\u9664\u56FE\u7247", children: _jsx(X, { size: 16 }) }) })] }, index))), urls.length < maxCount && (_jsx(FileUpload, { inputRef: inputRef, accept: mAccept, multiple: maxCount > 1, onChange: handleFileChange, labelClassName: "w-24 h-24 p-0 border-0 cursor-pointer", selectLabel: _jsxs("div", { className: "w-full h-full rounded-[8px] bg-[#F5F5F5] border border-gray-200 flex flex-col items-center justify-center gap-1 hover:bg-gray-50 transition-colors", children: [_jsx(Camera, { className: "text-gray-500", size: 24 }), _jsx("span", { className: "text-xs text-gray-500", children: "\u4E0A\u4F20" })] }) }))] }));
66
63
  }
@@ -1,13 +1,40 @@
1
1
  import type { ChangeEvent, ReactNode, RefObject } from 'react';
2
2
  export interface FileUploadProps {
3
+ /**
4
+ * 文件 input 的 ref,用于父组件重置 value 等
5
+ */
3
6
  inputRef?: RefObject<HTMLInputElement | null>;
7
+ /**
8
+ * input 的 accept 属性,默认接收任意文件
9
+ */
4
10
  accept?: string;
11
+ /**
12
+ * 是否支持多选
13
+ */
5
14
  multiple?: boolean;
15
+ /**
16
+ * 选择文件时的回调
17
+ */
6
18
  onChange?: (event: ChangeEvent<HTMLInputElement>) => void;
19
+ /**
20
+ * 选择文件按钮文案
21
+ */
7
22
  selectLabel: ReactNode;
23
+ /**
24
+ * label 的自定义 className
25
+ */
8
26
  labelClassName?: string;
27
+ /**
28
+ * 是否展示清空按钮
29
+ */
9
30
  showClear?: boolean;
31
+ /**
32
+ * 清空按钮点击回调
33
+ */
10
34
  onClear?: () => void;
35
+ /**
36
+ * 清空按钮文案
37
+ */
11
38
  clearLabel?: ReactNode;
12
39
  }
13
40
  export declare function FileUpload({ inputRef, accept, multiple, onChange, selectLabel, labelClassName, showClear, onClear, clearLabel, }: FileUploadProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,5 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Button } from '../Button';
3
+ export function FileUpload({ inputRef, accept = '*', multiple, onChange, selectLabel, labelClassName, showClear, onClear, clearLabel, }) {
4
+ return (_jsxs("div", { className: "flex items-center gap-3", children: [_jsxs("label", { className: labelClassName ?? 'flex items-center gap-2 px-4 py-2 border rounded-lg cursor-pointer bg-white', children: [_jsx("input", { ref: inputRef, type: "file", accept: accept, multiple: multiple, className: "hidden", onChange: onChange }), selectLabel] }), showClear && onClear && (_jsx(Button, { size: "sm", variant: "link", onClick: onClear, children: clearLabel }))] }));
5
+ }
@@ -0,0 +1,2 @@
1
+ export * from './ImageUpload';
2
+ export * from './Upload';
@@ -0,0 +1,78 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useBreadcrumb } from '../hooks/useBreadcrumb';
3
+ import { useLanguage } from '../hooks/useLanguage';
4
+ import { cn } from '../lib/utils';
5
+ // import useUserStore from '@tc/ui-react/stores/user'
6
+ import { ChevronRight, MoreHorizontal } from 'lucide-react';
7
+ import { forwardRef } from 'react';
8
+ import { useNavigate } from 'react-router-dom';
9
+ const Breadcrumb = forwardRef(({ ...props }, ref) => _jsx("nav", { ref: ref, "aria-label": "breadcrumb", ...props }));
10
+ Breadcrumb.displayName = 'Breadcrumb';
11
+ const BreadcrumbList = forwardRef(({ className, ...props }, ref) => (_jsx("ol", { ref: ref, className: cn('flex items-center gap-3 flex-wrap', className), ...props })));
12
+ BreadcrumbList.displayName = 'BreadcrumbList';
13
+ const BreadcrumbItem = forwardRef(({ className, ...props }, ref) => _jsx("li", { ref: ref, className: cn('inline-flex items-center', className), ...props }));
14
+ BreadcrumbItem.displayName = 'BreadcrumbItem';
15
+ const BreadcrumbLink = forwardRef(({ className, ...props }, ref) => {
16
+ return _jsx("a", { ref: ref, className: cn('transition-colors hover:text-foreground', className), ...props });
17
+ });
18
+ BreadcrumbLink.displayName = 'BreadcrumbLink';
19
+ const BreadcrumbPage = forwardRef(({ className, active, onClose, closable = true, children, ...props }, ref) => {
20
+ return (_jsxs("span", { ref: ref, role: "link", "aria-disabled": "true", "aria-current": "page", className: cn('inline-flex items-center gap-2 px-4 py-2 rounded-lg border transition-all duration-200 text-sm', active
21
+ ? 'bg-breadcrumb-active-bg text-breadcrumb-active-text border-breadcrumb-active-bg shadow-sm'
22
+ : 'bg-white text-breadcrumb-text border-breadcrumb-border hover:border-gray-400', className), ...props, children: [_jsx("span", { className: "font-normal", children: children }), onClose && closable && (_jsx("button", { onClick: (e) => {
23
+ e.stopPropagation();
24
+ onClose();
25
+ }, className: "inline-flex items-center justify-center hover:opacity-70 transition-opacity", "aria-label": "\u5173\u95ED", children: _jsxs("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [_jsxs("g", { clipPath: "url(#clip0_228_519)", children: [_jsx("circle", { cx: "8", cy: "8", r: "6.66667", stroke: "currentColor", strokeWidth: "1" }), _jsx("path", { d: "M9.66669 6.33302L6.33337 9.66634M6.33336 6.33301L9.66668 9.66633", stroke: "currentColor", strokeWidth: "1", strokeLinecap: "round" })] }), _jsx("defs", { children: _jsx("clipPath", { id: "clip0_228_519", children: _jsx("rect", { width: "16", height: "16", fill: "white" }) }) })] }) }))] }));
26
+ });
27
+ BreadcrumbPage.displayName = 'BreadcrumbPage';
28
+ const BreadcrumbSeparator = ({ children, className, ...props }) => (_jsx("li", { role: "presentation", "aria-hidden": "true", className: cn('[&>svg]:size-3.5', className), ...props, children: children ?? _jsx(ChevronRight, {}) }));
29
+ BreadcrumbSeparator.displayName = 'BreadcrumbSeparator';
30
+ const BreadcrumbEllipsis = ({ className, ...props }) => (_jsxs("span", { role: "presentation", "aria-hidden": "true", "aria-label": "More", className: cn('flex h-9 w-9 items-center justify-center', className), ...props, children: [_jsx(MoreHorizontal, { className: "h-4 w-4" }), _jsx("span", { className: "sr-only", children: "More" })] }));
31
+ BreadcrumbEllipsis.displayName = 'BreadcrumbEllipsis';
32
+ export { Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, };
33
+ export function SimpleBreadcrumb({ className }) {
34
+ const { language } = useLanguage();
35
+ const navigate = useNavigate();
36
+ const { items, setActiveItem, removeItem } = useBreadcrumb();
37
+ const handleBreadcrumbClick = (id) => {
38
+ const item = items.find((item) => item.id === id);
39
+ if (item?.path) {
40
+ navigate(item.path);
41
+ setActiveItem(id);
42
+ }
43
+ };
44
+ const handleBreadcrumbClose = (id) => {
45
+ const itemToRemove = items.find((item) => item.id === id);
46
+ const isActive = itemToRemove?.active;
47
+ // 先计算剩余的面包屑项(在删除之前)
48
+ const remainingItems = items.filter((item) => item.id !== id);
49
+ // 立即删除该项,确保状态及时更新
50
+ removeItem(id);
51
+ // 如果删除的是当前激活的项,需要跳转
52
+ if (isActive) {
53
+ if (remainingItems.length > 0) {
54
+ // 有剩余项,跳转到最后一个
55
+ const targetItem = remainingItems.at(-1);
56
+ const targetPath = targetItem.path;
57
+ if (targetPath) {
58
+ // 使用 setTimeout 确保删除操作先完成
59
+ setTimeout(() => {
60
+ navigate(targetPath);
61
+ setActiveItem(targetItem.id);
62
+ }, 0);
63
+ }
64
+ }
65
+ else {
66
+ // 获取首页路径(第一个权限页面)
67
+ setTimeout(() => {
68
+ // todo
69
+ // navigate(useUserStore.getState().userPagePermissions[0]?.menuUrl || '/')
70
+ }, 0);
71
+ }
72
+ }
73
+ };
74
+ const getItemLabel = (item) => {
75
+ return language === 'zh-CN' ? item.label : item.desctext || item.label;
76
+ };
77
+ return (_jsx(Breadcrumb, { className: className, children: _jsx(BreadcrumbList, { children: items.map((item) => (_jsx(BreadcrumbItem, { children: _jsx(BreadcrumbPage, { active: item.active, closable: item.closable !== false, onClose: () => handleBreadcrumbClose(item.id), onClick: () => handleBreadcrumbClick(item.id), className: 'cursor-pointer', "data-active": item.active ? 'true' : undefined, children: getItemLabel(item) }) }, item.id))) }) }));
78
+ }
@@ -4,6 +4,9 @@ interface IParams<T> {
4
4
  controlledValue?: string;
5
5
  disabled?: boolean;
6
6
  }
7
+ /**
8
+ * 处理ref & 判断是否受控 & 使用的value & value.length
9
+ */
7
10
  export declare const useInputController: <T>(params: IParams<T>) => {
8
11
  setRefs: (node: T | null) => void;
9
12
  setIsFocused: import("react").Dispatch<import("react").SetStateAction<boolean>>;
@@ -1,24 +1,28 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useInputController = void 0;
4
- const react_1 = require("react");
5
- const useInputController = (params) => {
1
+ import { useCallback, useMemo, useRef, useState } from 'react';
2
+ /**
3
+ * 处理ref & 判断是否受控 & 使用的value & value.length
4
+ */
5
+ export const useInputController = (params) => {
6
6
  const { defaultValue, ref, controlledValue } = params;
7
- const [isFocused, setIsFocused] = (0, react_1.useState)(false);
8
- const [internalValue, setInternalValue] = (0, react_1.useState)(defaultValue || '');
9
- const controllerRef = (0, react_1.useRef)(null);
10
- const setRefs = (0, react_1.useCallback)((node) => {
7
+ const [isFocused, setIsFocused] = useState(false);
8
+ const [internalValue, setInternalValue] = useState(defaultValue || '');
9
+ const controllerRef = useRef(null);
10
+ // 合并 refs
11
+ const setRefs = useCallback((node) => {
11
12
  controllerRef.current = node;
12
13
  if (typeof ref === 'function') {
13
14
  ref(node);
14
15
  }
15
16
  else if (ref) {
17
+ // eslint-disable-next-line react-hooks/immutability
16
18
  ref.current = node;
17
19
  }
18
20
  }, [ref]);
19
- const isControlledRef = (0, react_1.useRef)(false);
20
- const isControlled = (0, react_1.useMemo)(() => {
21
+ const isControlledRef = useRef(false);
22
+ // 外部传了value
23
+ const isControlled = useMemo(() => {
21
24
  const r = controlledValue !== undefined;
25
+ // 当传入的value改变时,更新ref值
22
26
  isControlledRef.current = r;
23
27
  return r;
24
28
  }, [controlledValue]);
@@ -39,4 +43,3 @@ const useInputController = (params) => {
39
43
  value,
40
44
  };
41
45
  };
42
- exports.useInputController = useInputController;
@@ -0,0 +1,23 @@
1
+ export * from './breadcrumb';
2
+ export * from './Button';
3
+ export * from './Checkbox';
4
+ export * from './ConfirmDialog';
5
+ export * from './DataTable/data-table';
6
+ export * from './Dropdown';
7
+ export * from './Form';
8
+ export * from './ImagePreview';
9
+ export * from './Input';
10
+ export * from './Label';
11
+ export * from './Message';
12
+ export * from './Modal';
13
+ export * from './Pagination';
14
+ export * from './Search';
15
+ export * from './Select';
16
+ export * from './Skeleton';
17
+ export * from './Switch';
18
+ export * from './table';
19
+ export * from './TableSearch';
20
+ export * from './Textarea';
21
+ export * from './Tooltip';
22
+ export * from './TreeSelect';
23
+ export * from './Upload';
@@ -0,0 +1,20 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { cn } from '../lib/utils';
3
+ import * as React from 'react';
4
+ const Table = React.forwardRef(({ className, containerClassName, ...props }, ref) => (_jsx("div", { className: cn('relative w-full overflow-auto rounded-[20px]', containerClassName), children: _jsx("table", { ref: ref, className: cn('w-full caption-bottom text-sm', className), ...props }) })));
5
+ Table.displayName = 'Table';
6
+ const TableHeader = React.forwardRef(({ className, ...props }, ref) => _jsx("thead", { ref: ref, className: cn('bg-table-header', className), ...props }));
7
+ TableHeader.displayName = 'TableHeader';
8
+ const TableBody = React.forwardRef(({ className, ...props }, ref) => (_jsx("tbody", { ref: ref, className: cn('[&_tr:last-child]:border-0', className), ...props })));
9
+ TableBody.displayName = 'TableBody';
10
+ const TableFooter = React.forwardRef(({ className, ...props }, ref) => (_jsx("tfoot", { ref: ref, className: cn('border-t bg-muted/50 font-medium [&>tr]:last:border-b-0', className), ...props })));
11
+ TableFooter.displayName = 'TableFooter';
12
+ const TableRow = React.forwardRef(({ className, ...props }, ref) => (_jsx("tr", { ref: ref, className: cn('border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted', className), ...props })));
13
+ TableRow.displayName = 'TableRow';
14
+ const TableHead = React.forwardRef(({ className, isAction, ...props }, ref) => (_jsx("th", { ref: ref, className: cn('h-12 px-4 text-left align-middle text-xs font-normal', 'text-table-head-text', isAction && 'bg-table-action text-table-action-text w-[85px] text-center', className), ...props })));
15
+ TableHead.displayName = 'TableHead';
16
+ const TableCell = React.forwardRef(({ className, isAction, ...props }, ref) => (_jsx("td", { ref: ref, className: cn('p-4 align-middle text-sm font-normal', 'text-table-cell-text', isAction && 'bg-table-action text-table-action-text w-[85px] text-center', className), ...props })));
17
+ TableCell.displayName = 'TableCell';
18
+ const TableCaption = React.forwardRef(({ className, ...props }, ref) => (_jsx("caption", { ref: ref, className: cn('mt-4 text-sm text-muted-foreground', className), ...props })));
19
+ TableCaption.displayName = 'TableCaption';
20
+ export { Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow };