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

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 (589) hide show
  1. package/README.md +1108 -0
  2. package/cjs/_virtual/_rolldown/runtime.js +1 -0
  3. package/cjs/app/controller/base.js +1 -21
  4. package/cjs/app/controller/project.js +1 -50
  5. package/cjs/app/controller/view.js +1 -14
  6. package/cjs/app/data/signKey.js +1 -4
  7. package/cjs/app/extend/$fetch.js +1 -0
  8. package/cjs/app/extend/db.js +1 -12
  9. package/cjs/app/extend/generateErrorMessage.js +1 -14
  10. package/cjs/app/extend/logger.js +1 -72
  11. package/cjs/app/extend/parsingParamsOnUrl.js +1 -22
  12. package/cjs/app/extend/render-view.js +1 -21
  13. package/cjs/app/middleware/api-params-verify.js +1 -63
  14. package/cjs/app/middleware/api-sign-verify.js +1 -28
  15. package/cjs/app/middleware/error-handle.js +1 -33
  16. package/cjs/app/middleware/project-handler.js +1 -21
  17. package/cjs/app/middleware.js +1 -60
  18. package/cjs/app/router/project.js +1 -8
  19. package/cjs/app/router/view.js +1 -5
  20. package/cjs/app/router-schema/project.js +1 -33
  21. package/cjs/app/service/base.js +1 -0
  22. package/cjs/app/service/project.js +1 -42
  23. package/cjs/app/type.js +1 -2
  24. package/cjs/app/typings.js +1 -2
  25. package/cjs/bundler/defaultAlias.js +1 -0
  26. package/cjs/bundler/dev.js +1 -68
  27. package/cjs/bundler/index.js +1 -18
  28. package/cjs/bundler/prod.js +1 -19
  29. package/cjs/bundler/state.js +1 -0
  30. package/cjs/bundler/utils.js +1 -127
  31. package/cjs/index.js +1 -21
  32. package/cjs/packages/common/LRUCache.js +1 -0
  33. package/cjs/packages/common/array/index.js +1 -0
  34. package/cjs/packages/common/cache/LRUCache.js +1 -0
  35. package/cjs/packages/common/cache/index.js +1 -0
  36. package/cjs/packages/common/guards/index.js +1 -0
  37. package/cjs/packages/common/http/index.js +1 -0
  38. package/cjs/packages/common/i18n/default.js +1 -0
  39. package/cjs/packages/common/i18n/en-US.js +1 -0
  40. package/cjs/packages/common/i18n/index.js +1 -0
  41. package/cjs/packages/common/i18n/locales.js +1 -0
  42. package/cjs/packages/common/i18n/types.js +1 -0
  43. package/cjs/packages/common/index.js +1 -0
  44. package/cjs/packages/common/log/index.js +2 -0
  45. package/cjs/packages/common/number/index.js +1 -0
  46. package/cjs/packages/common/object/filterEmpty.js +1 -0
  47. package/cjs/packages/common/object/filtereEmpty.js +1 -0
  48. package/cjs/packages/common/object/index.js +1 -0
  49. package/cjs/packages/common/string/index.js +1 -0
  50. package/cjs/packages/common/types/index.js +1 -0
  51. package/cjs/packages/core/env.js +1 -25
  52. package/cjs/packages/core/index.js +1 -116
  53. package/cjs/packages/core/loader/config.js +1 -45
  54. package/cjs/packages/core/loader/controller.js +1 -40
  55. package/cjs/packages/core/loader/extend.js +1 -41
  56. package/cjs/packages/core/loader/middleware.js +1 -38
  57. package/cjs/packages/core/loader/model.js +1 -132
  58. package/cjs/packages/core/loader/router-schema.js +1 -35
  59. package/cjs/packages/core/loader/router.js +1 -62
  60. package/cjs/packages/core/loader/service.js +1 -30
  61. package/cjs/packages/core/paths.js +1 -10
  62. package/cjs/packages/core/types.js +1 -2
  63. package/cjs/packages/utils/getAllFilesInFolder.js +1 -45
  64. package/cjs/packages/utils/getAllFnReturnValue.js +1 -6
  65. package/cjs/packages/utils/index.js +1 -20
  66. package/cjs/packages/utils/loadFile.js +1 -65
  67. package/cjs/packages/utils/path.js +1 -64
  68. package/cjs/packages/utils/runFileFn.js +1 -5
  69. package/esm/_virtual/_rolldown/runtime.js +20 -0
  70. package/esm/app/controller/base.js +26 -21
  71. package/esm/app/controller/project.js +52 -42
  72. package/esm/app/controller/view.js +23 -12
  73. package/esm/app/data/signKey.js +8 -1
  74. package/esm/app/extend/$fetch.js +15 -0
  75. package/esm/app/extend/db.js +5 -8
  76. package/esm/app/extend/generateErrorMessage.js +6 -11
  77. package/esm/app/extend/logger.js +25 -36
  78. package/esm/app/extend/parsingParamsOnUrl.js +13 -19
  79. package/esm/app/extend/render-view.js +18 -15
  80. package/esm/app/middleware/api-params-verify.js +55 -57
  81. package/esm/app/middleware/api-sign-verify.js +17 -22
  82. package/esm/app/middleware/error-handle.js +23 -30
  83. package/esm/app/middleware/project-handler.js +14 -18
  84. package/esm/app/middleware.js +17 -54
  85. package/esm/app/router/project.js +6 -5
  86. package/esm/app/router/view.js +6 -2
  87. package/esm/app/router-schema/project.js +14 -30
  88. package/esm/app/service/base.js +14 -0
  89. package/esm/app/service/project.js +23 -34
  90. package/esm/app/type.js +0 -1
  91. package/esm/app/typings.js +0 -1
  92. package/esm/bundler/defaultAlias.js +4 -0
  93. package/esm/bundler/dev.js +11 -28
  94. package/esm/bundler/index.js +17 -13
  95. package/esm/bundler/prod.js +13 -15
  96. package/esm/bundler/state.js +10 -0
  97. package/esm/bundler/utils.js +191 -82
  98. package/esm/index.js +15 -12
  99. package/esm/packages/common/LRUCache.js +2 -0
  100. package/esm/packages/common/array/index.js +27 -0
  101. package/esm/packages/common/cache/LRUCache.js +39 -0
  102. package/esm/packages/common/cache/index.js +2 -0
  103. package/esm/packages/common/guards/index.js +8 -0
  104. package/esm/packages/common/http/index.js +256 -0
  105. package/esm/packages/common/i18n/default.js +88 -0
  106. package/esm/packages/common/i18n/en-US.js +88 -0
  107. package/esm/packages/common/i18n/index.js +91 -0
  108. package/esm/packages/common/i18n/locales.js +9 -0
  109. package/esm/packages/common/index.js +14 -0
  110. package/esm/packages/common/log/index.js +93 -0
  111. package/esm/packages/common/number/index.js +10 -0
  112. package/esm/packages/common/object/filterEmpty.js +23 -0
  113. package/esm/packages/common/object/filtereEmpty.js +2 -0
  114. package/esm/packages/common/object/index.js +17 -0
  115. package/esm/packages/common/string/index.js +4 -0
  116. package/esm/packages/common/types/index.js +0 -0
  117. package/esm/packages/core/env.js +24 -23
  118. package/esm/packages/core/index.js +51 -108
  119. package/esm/packages/core/loader/config.js +26 -42
  120. package/esm/packages/core/loader/controller.js +12 -37
  121. package/esm/packages/core/loader/extend.js +22 -38
  122. package/esm/packages/core/loader/middleware.js +15 -35
  123. package/esm/packages/core/loader/model.js +65 -124
  124. package/esm/packages/core/loader/router-schema.js +18 -32
  125. package/esm/packages/core/loader/router.js +35 -56
  126. package/esm/packages/core/loader/service.js +12 -27
  127. package/esm/packages/core/paths.js +7 -4
  128. package/esm/packages/core/types.js +0 -1
  129. package/esm/packages/utils/getAllFilesInFolder.js +8 -7
  130. package/esm/packages/utils/getAllFnReturnValue.js +0 -6
  131. package/esm/packages/utils/index.js +5 -4
  132. package/esm/packages/utils/loadFile.js +33 -62
  133. package/esm/packages/utils/path.js +14 -25
  134. package/esm/packages/utils/runFileFn.js +45 -1
  135. package/fe/frontend/apps/dash/Dashboard.d.ts +6 -0
  136. package/fe/frontend/apps/dash/Dashboard.js +75 -0
  137. package/fe/frontend/apps/dash/dash.entry.d.ts +2 -0
  138. package/fe/frontend/apps/dash/dash.entry.js +80 -0
  139. package/fe/frontend/apps/dash/types.d.ts +17 -0
  140. package/fe/frontend/apps/testPage/index.d.ts +3 -0
  141. package/fe/frontend/apps/testPage/index.js +6 -0
  142. package/fe/frontend/apps/testPage/testPage.entry.d.ts +2 -0
  143. package/fe/frontend/apps/testPage/testPage.entry.js +6 -0
  144. package/fe/frontend/extended/SchemaForm/data.d.ts +13 -0
  145. package/fe/frontend/extended/SchemaForm/data.js +8 -0
  146. package/fe/frontend/src/api/baseInfo.d.ts +31 -0
  147. package/fe/frontend/src/api/baseInfo.js +15 -0
  148. package/fe/frontend/src/common/CRUD/CRUD.d.ts +3 -0
  149. package/fe/frontend/src/common/CRUD/CRUD.js +2 -0
  150. package/fe/frontend/src/common/CRUD/index.d.ts +2 -0
  151. package/fe/frontend/src/common/CRUD/index.js +1 -0
  152. package/fe/frontend/src/common/auth/index.d.ts +7 -0
  153. package/fe/frontend/src/common/auth/index.js +20 -0
  154. package/fe/frontend/src/common/fetchErrorShow.d.ts +3 -0
  155. package/fe/frontend/src/common/fetchErrorShow.js +8 -0
  156. package/fe/frontend/src/common/generateMenuData.d.ts +4 -0
  157. package/fe/frontend/src/common/generateMenuData.js +12 -0
  158. package/fe/frontend/src/common/importComponent.d.ts +5 -0
  159. package/fe/frontend/src/common/importComponent.js +8 -0
  160. package/fe/frontend/src/common/language.d.ts +2 -0
  161. package/fe/frontend/src/common/language.js +9 -0
  162. package/fe/frontend/src/common/logFn/index.d.ts +5 -0
  163. package/fe/frontend/src/common/logFn/index.js +9 -0
  164. package/fe/frontend/src/common/menu.d.ts +34 -0
  165. package/fe/frontend/src/common/menu.js +101 -0
  166. package/fe/frontend/src/common/request.d.ts +37 -0
  167. package/fe/frontend/src/common/request.js +217 -0
  168. package/fe/frontend/src/components/AsyncSelect/AsyncSelect.d.ts +8 -0
  169. package/fe/frontend/src/components/AsyncSelect/AsyncSelect.js +32 -0
  170. package/fe/frontend/src/components/AsyncSelect/index.d.ts +4 -0
  171. package/fe/frontend/src/components/AsyncSelect/index.js +3 -0
  172. package/fe/frontend/src/components/BasePage/HeaderView.d.ts +9 -0
  173. package/fe/frontend/src/components/BasePage/HeaderView.js +14 -0
  174. package/fe/frontend/src/components/Router/index.d.ts +9 -0
  175. package/fe/frontend/src/components/Router/index.js +11 -0
  176. package/fe/frontend/src/components/Router/type.d.ts +2 -0
  177. package/fe/frontend/src/components/Router/type.js +1 -0
  178. package/fe/frontend/src/defaultPages/Iframe/index.d.ts +3 -0
  179. package/fe/frontend/src/defaultPages/Iframe/index.js +14 -0
  180. package/fe/frontend/src/defaultPages/SchemaPage/components/CallCom/DetailPanel.d.ts +7 -0
  181. package/fe/frontend/src/defaultPages/SchemaPage/components/CallCom/DetailPanel.js +94 -0
  182. package/fe/frontend/src/defaultPages/SchemaPage/components/CallCom/PopFrom.d.ts +13 -0
  183. package/fe/frontend/src/defaultPages/SchemaPage/components/CallCom/PopFrom.js +124 -0
  184. package/fe/frontend/src/defaultPages/SchemaPage/components/CallCom/builtIn.d.ts +44 -0
  185. package/fe/frontend/src/defaultPages/SchemaPage/components/CallCom/builtIn.js +7 -0
  186. package/fe/frontend/src/defaultPages/SchemaPage/components/CallCom/data.d.ts +4 -0
  187. package/fe/frontend/src/defaultPages/SchemaPage/components/CallCom/data.js +6 -0
  188. package/fe/frontend/src/defaultPages/SchemaPage/components/SchemaSearch/index.d.ts +3 -0
  189. package/fe/frontend/src/defaultPages/SchemaPage/components/SchemaSearch/index.js +63 -0
  190. package/fe/frontend/src/defaultPages/SchemaPage/components/SchemaTable/index.d.ts +11 -0
  191. package/fe/frontend/src/defaultPages/SchemaPage/components/SchemaTable/index.js +188 -0
  192. package/fe/frontend/src/defaultPages/SchemaPage/data/eventInfo.d.ts +8 -0
  193. package/fe/frontend/src/defaultPages/SchemaPage/data/eventInfo.js +6 -0
  194. package/fe/frontend/src/defaultPages/SchemaPage/data/index.d.ts +3 -0
  195. package/fe/frontend/src/defaultPages/SchemaPage/data/index.js +1 -0
  196. package/fe/frontend/src/defaultPages/SchemaPage/hooks/useComConfig.d.ts +10 -0
  197. package/fe/frontend/src/defaultPages/SchemaPage/hooks/useComConfig.js +14 -0
  198. package/fe/frontend/src/defaultPages/SchemaPage/index.css +167 -0
  199. package/fe/frontend/src/defaultPages/SchemaPage/index.d.ts +4 -0
  200. package/fe/frontend/src/defaultPages/SchemaPage/index.js +75 -0
  201. package/fe/frontend/src/defaultPages/SchemaPage/schemaType.d.ts +51 -0
  202. package/fe/frontend/src/defaultPages/SchemaPage/schemaType.js +4 -0
  203. package/fe/frontend/src/defaultPages/SchemaPage/utils/permissions.d.ts +3 -0
  204. package/fe/frontend/src/defaultPages/SchemaPage/utils/permissions.js +3 -0
  205. package/fe/frontend/src/defaultPages/SchemaPage/utils/schemaConversion.d.ts +3 -0
  206. package/fe/frontend/src/defaultPages/SchemaPage/utils/schemaConversion.js +115 -0
  207. package/fe/frontend/src/defaultPages/SchemaPage/utils/validator.d.ts +7 -0
  208. package/fe/frontend/src/defaultPages/SchemaPage/utils/validator.js +36 -0
  209. package/fe/frontend/src/defaultPages/SidebarSlotPage/SidebarSlotContainer.d.ts +10 -0
  210. package/fe/frontend/src/defaultPages/SidebarSlotPage/SidebarSlotContainer.js +38 -0
  211. package/fe/frontend/src/defaultPages/SidebarSlotPage/index.d.ts +3 -0
  212. package/fe/frontend/src/defaultPages/SidebarSlotPage/index.js +16 -0
  213. package/fe/frontend/src/defaultPages/SidebarSlotPageTmp.d.ts +3 -0
  214. package/fe/frontend/src/defaultPages/SidebarSlotPageTmp.js +17 -0
  215. package/fe/frontend/src/defaultPages/SlotPage/index.d.ts +3 -0
  216. package/fe/frontend/src/defaultPages/SlotPage/index.js +26 -0
  217. package/fe/frontend/src/exportStore.d.ts +17 -0
  218. package/fe/frontend/src/exportStore.js +16 -0
  219. package/fe/frontend/src/hooks/useCurrentMenuData.d.ts +19 -0
  220. package/fe/frontend/src/hooks/useCurrentMenuData.js +28 -0
  221. package/fe/frontend/src/hooks/useRouterParams.d.ts +5 -0
  222. package/fe/frontend/src/hooks/useRouterParams.js +11 -0
  223. package/fe/frontend/src/index.d.ts +16 -0
  224. package/fe/frontend/src/index.js +13 -0
  225. package/fe/frontend/src/main.css +96 -0
  226. package/fe/frontend/src/main.d.ts +27 -0
  227. package/fe/frontend/src/main.js +72 -0
  228. package/fe/frontend/src/stores/apiFreezer.d.ts +93 -0
  229. package/fe/frontend/src/stores/apiFreezer.js +49 -0
  230. package/fe/frontend/src/stores/mode.d.ts +19 -0
  231. package/fe/frontend/src/stores/mode.js +37 -0
  232. package/fe/frontend/src/stores/schemaEventBus.d.ts +42 -0
  233. package/fe/frontend/src/stores/schemaEventBus.js +70 -0
  234. package/fe/frontend/src/stores/schemaStore.d.ts +47 -0
  235. package/fe/frontend/src/stores/schemaStore.js +26 -0
  236. package/fe/frontend/src/typing/scalability.d.ts +47 -0
  237. package/fe/frontend/src/typing/scalability.js +1 -0
  238. package/fe/frontend/src/typing/window.d.ts +7 -0
  239. package/fe/frontend/src/typing/window.js +1 -0
  240. package/fe/model/types/data/button.d.ts +32 -0
  241. package/fe/model/types/data/button.js +16 -0
  242. package/fe/model/types/data/component.d.ts +40 -0
  243. package/fe/model/types/data/component.js +11 -0
  244. package/fe/model/types/data/fetchInfo.d.ts +20 -0
  245. package/fe/model/types/data/fetchInfo.js +1 -0
  246. package/fe/model/types/data/schema.d.ts +98 -0
  247. package/fe/model/types/data/schema.js +1 -0
  248. package/fe/model/types/data/search.d.ts +7 -0
  249. package/fe/model/types/data/search.js +1 -0
  250. package/fe/model/types/menuType.d.ts +73 -0
  251. package/fe/model/types/menuType.js +1 -0
  252. package/fe/model/types/model.d.ts +33 -0
  253. package/fe/model/types/model.js +1 -0
  254. package/fe/packages/common/array/index.d.ts +7 -0
  255. package/fe/packages/common/array/index.js +40 -0
  256. package/fe/packages/common/cache/LRUCache.d.ts +13 -0
  257. package/fe/packages/common/cache/LRUCache.js +47 -0
  258. package/fe/packages/common/cache/index.d.ts +2 -0
  259. package/fe/packages/common/cache/index.js +1 -0
  260. package/fe/packages/common/guards/index.d.ts +9 -0
  261. package/fe/packages/common/guards/index.js +24 -0
  262. package/fe/packages/common/http/index.d.ts +90 -0
  263. package/fe/packages/common/http/index.js +310 -0
  264. package/fe/packages/common/i18n/default.d.ts +92 -0
  265. package/fe/packages/common/i18n/default.js +90 -0
  266. package/fe/packages/common/i18n/en-US.d.ts +92 -0
  267. package/fe/packages/common/i18n/en-US.js +90 -0
  268. package/fe/packages/common/i18n/index.d.ts +43 -0
  269. package/fe/packages/common/i18n/index.js +173 -0
  270. package/fe/packages/common/i18n/locales.d.ts +8 -0
  271. package/fe/packages/common/i18n/locales.js +10 -0
  272. package/fe/packages/common/i18n/types.d.ts +71 -0
  273. package/fe/packages/common/i18n/types.js +1 -0
  274. package/fe/packages/common/index.d.ts +11 -0
  275. package/fe/packages/common/index.js +10 -0
  276. package/fe/packages/common/log/index.d.ts +33 -0
  277. package/fe/packages/common/log/index.js +176 -0
  278. package/fe/packages/common/number/index.d.ts +3 -0
  279. package/fe/packages/common/number/index.js +10 -0
  280. package/fe/packages/common/object/filterEmpty.d.ts +3 -0
  281. package/fe/packages/common/object/filterEmpty.js +33 -0
  282. package/fe/packages/common/object/index.d.ts +5 -0
  283. package/fe/packages/common/object/index.js +25 -0
  284. package/fe/packages/common/string/index.d.ts +4 -0
  285. package/fe/packages/common/string/index.js +17 -0
  286. package/fe/packages/common/types/index.d.ts +4 -0
  287. package/fe/packages/common/types/index.js +1 -0
  288. package/fe/packages/ui/react/components/Button/Button.d.ts +29 -10
  289. package/fe/packages/ui/react/components/Button/Button.js +53 -23
  290. package/fe/packages/ui/react/components/Button/SumbitButton.d.ts +2 -2
  291. package/fe/packages/ui/react/components/Button/SumbitButton.js +3 -10
  292. package/fe/packages/ui/react/components/Button/index.d.ts +1 -1
  293. package/fe/packages/ui/react/components/Checkbox/Checkbox.d.ts +1 -1
  294. package/fe/packages/ui/react/components/Checkbox/Checkbox.js +5 -3
  295. package/fe/packages/ui/react/components/ConfirmDialog/ConfirmDialog.js +11 -0
  296. package/fe/packages/ui/react/components/ConfirmDialog/index.d.ts +2 -0
  297. package/fe/packages/ui/react/components/ConfirmDialog/index.js +1 -0
  298. package/fe/packages/ui/react/components/DataTable/ActionBtn.d.ts +3 -1
  299. package/fe/packages/ui/react/components/DataTable/ActionBtn.js +87 -4
  300. package/fe/packages/ui/react/components/DataTable/{data-table.d.ts → index.d.ts} +12 -4
  301. package/fe/packages/ui/react/components/DataTable/index.js +187 -0
  302. package/fe/packages/ui/react/components/Date/Calendar.js +4 -3
  303. package/fe/packages/ui/react/components/Date/Date.d.ts +5 -3
  304. package/fe/packages/ui/react/components/Date/Date.js +71 -48
  305. package/fe/packages/ui/react/components/Date/TimePicker.js +3 -1
  306. package/fe/packages/ui/react/components/Date/dropdownPositioning.d.ts +3 -0
  307. package/fe/packages/ui/react/components/Date/dropdownPositioning.js +12 -0
  308. package/fe/packages/ui/react/components/Date/locales.d.ts +1 -0
  309. package/fe/packages/ui/react/components/Date/locales.js +7 -38
  310. package/fe/packages/ui/react/components/Drawer/Drawer.d.ts +29 -0
  311. package/fe/packages/ui/react/components/Drawer/Drawer.js +100 -0
  312. package/fe/packages/ui/react/components/Drawer/index.d.ts +3 -0
  313. package/fe/packages/ui/react/components/Drawer/index.js +1 -0
  314. package/fe/packages/ui/react/components/Dropdown/Dropdown.d.ts +26 -0
  315. package/fe/packages/ui/react/components/Dropdown/Dropdown.js +49 -0
  316. package/fe/packages/ui/react/components/Dropdown/index.d.ts +2 -0
  317. package/fe/packages/ui/react/components/Dropdown/index.js +1 -0
  318. package/fe/packages/ui/react/components/Form/Form.js +1 -1
  319. package/fe/packages/ui/react/components/Form/FormItem.js +1 -1
  320. package/fe/packages/ui/react/components/Form/SchemaForm/data.d.ts +40 -0
  321. package/fe/packages/ui/react/components/Form/SchemaForm/data.js +18 -0
  322. package/fe/packages/ui/react/components/Form/{SchemeForm → SchemaForm}/index.d.ts +15 -14
  323. package/fe/packages/ui/react/components/Form/SchemaForm/index.js +79 -0
  324. package/fe/packages/ui/react/components/Form/index.d.ts +1 -1
  325. package/fe/packages/ui/react/components/Form/index.js +1 -1
  326. package/fe/packages/ui/react/components/ImagePreview/ImagePreview.js +15 -12
  327. package/fe/packages/ui/react/components/ImagePreview/PreviewImage.js +5 -2
  328. package/fe/packages/ui/react/components/Input/Input.d.ts +5 -1
  329. package/fe/packages/ui/react/components/Input/Input.js +5 -4
  330. package/fe/packages/ui/react/components/InputNumber/InputNumber.d.ts +28 -0
  331. package/fe/packages/ui/react/components/InputNumber/InputNumber.js +144 -0
  332. package/fe/packages/ui/react/components/InputNumber/index.d.ts +2 -0
  333. package/fe/packages/ui/react/components/InputNumber/index.js +1 -0
  334. package/fe/packages/ui/react/components/InputNumber/inputNumberUtils.d.ts +30 -0
  335. package/fe/packages/ui/react/components/InputNumber/inputNumberUtils.js +63 -0
  336. package/fe/packages/ui/react/components/InputNumber/inputNumberUtils.test.d.ts +2 -0
  337. package/fe/packages/ui/react/components/InputNumber/inputNumberUtils.test.js +27 -0
  338. package/fe/packages/ui/react/components/Label/Label.js +2 -2
  339. package/fe/packages/ui/react/components/Menu/Menu.d.ts +18 -0
  340. package/fe/packages/ui/react/components/Menu/Menu.js +102 -0
  341. package/fe/packages/ui/react/components/Menu/MenuContext.d.ts +39 -0
  342. package/fe/packages/ui/react/components/Menu/MenuContext.js +97 -0
  343. package/fe/packages/ui/react/components/Menu/MenuItem.d.ts +3 -0
  344. package/fe/packages/ui/react/components/Menu/MenuItem.js +33 -0
  345. package/fe/packages/ui/react/components/Menu/SubMenu.d.ts +10 -0
  346. package/fe/packages/ui/react/components/Menu/SubMenu.js +169 -0
  347. package/fe/packages/ui/react/components/Menu/index.d.ts +9 -0
  348. package/fe/packages/ui/react/components/Menu/index.js +5 -0
  349. package/fe/packages/ui/react/components/Menu/menuTypes.d.ts +59 -0
  350. package/fe/packages/ui/react/components/Menu/menuTypes.js +1 -0
  351. package/fe/packages/ui/react/components/Menu/utils.d.ts +2 -0
  352. package/fe/packages/ui/react/components/Menu/utils.js +7 -0
  353. package/fe/packages/ui/react/components/Message/Message.js +4 -1
  354. package/fe/packages/ui/react/components/Modal/Modal.d.ts +3 -1
  355. package/fe/packages/ui/react/components/Modal/Modal.js +6 -43
  356. package/fe/packages/ui/react/components/Modal/ModalManager.js +4 -3
  357. package/fe/packages/ui/react/components/Overlay/Overlay.d.ts +23 -0
  358. package/fe/packages/ui/react/components/Overlay/Overlay.js +53 -0
  359. package/fe/packages/ui/react/components/Overlay/index.d.ts +3 -0
  360. package/fe/packages/ui/react/components/Overlay/index.js +1 -0
  361. package/fe/packages/ui/react/components/{Pagination.js → Pagination/Pagination.js} +4 -4
  362. package/fe/packages/ui/react/components/Pagination/index.d.ts +2 -0
  363. package/fe/packages/ui/react/components/Pagination/index.js +1 -0
  364. package/fe/packages/ui/react/components/Popup/Popup.d.ts +26 -0
  365. package/fe/packages/ui/react/components/Popup/Popup.js +81 -0
  366. package/fe/packages/ui/react/components/Popup/index.d.ts +2 -0
  367. package/fe/packages/ui/react/components/Popup/index.js +1 -0
  368. package/fe/packages/ui/react/components/Search/Search.d.ts +2 -2
  369. package/fe/packages/ui/react/components/Search/Search.js +3 -3
  370. package/fe/packages/ui/react/components/Select/Select.d.ts +5 -0
  371. package/fe/packages/ui/react/components/Select/Select.js +52 -109
  372. package/fe/packages/ui/react/components/Select/dropdownPositioning.d.ts +3 -0
  373. package/fe/packages/ui/react/components/Select/dropdownPositioning.js +13 -0
  374. package/fe/packages/ui/react/components/Skeleton/Skeleton.js +2 -2
  375. package/fe/packages/ui/react/components/Switch/Switch.js +3 -1
  376. package/fe/packages/ui/react/components/TableSearch/TableSearch.d.ts +5 -4
  377. package/fe/packages/ui/react/components/TableSearch/TableSearch.js +23 -21
  378. package/fe/packages/ui/react/components/TableSearch/lang.js +5 -14
  379. package/fe/packages/ui/react/components/{Textarea.d.ts → Textarea/Textarea.d.ts} +11 -3
  380. package/fe/packages/ui/react/components/Textarea/Textarea.js +37 -0
  381. package/fe/packages/ui/react/components/Textarea/index.d.ts +2 -0
  382. package/fe/packages/ui/react/components/Textarea/index.js +1 -0
  383. package/fe/packages/ui/react/components/{Tooltip.d.ts → Tooltip/Tooltip.d.ts} +2 -2
  384. package/fe/packages/ui/react/components/Tooltip/Tooltip.js +79 -0
  385. package/fe/packages/ui/react/components/Tooltip/index.d.ts +2 -0
  386. package/fe/packages/ui/react/components/Tooltip/index.js +1 -0
  387. package/fe/packages/ui/react/components/{TreeSelect.js → TreeSelect/TreeSelect.js} +9 -11
  388. package/fe/packages/ui/react/components/TreeSelect/index.d.ts +2 -0
  389. package/fe/packages/ui/react/components/TreeSelect/index.js +1 -0
  390. package/fe/packages/ui/react/components/Upload/ImageUpload.js +18 -6
  391. package/fe/packages/ui/react/components/Upload/Upload.js +2 -1
  392. package/fe/packages/ui/react/components/{breadcrumb.js → breadcrumb/breadcrumb.js} +15 -12
  393. package/fe/packages/ui/react/components/breadcrumb/index.d.ts +2 -0
  394. package/fe/packages/ui/react/components/breadcrumb/index.js +1 -0
  395. package/fe/packages/ui/react/components/hooks/useDropdownPositioning.d.ts +49 -0
  396. package/fe/packages/ui/react/components/hooks/useDropdownPositioning.js +137 -0
  397. package/fe/packages/ui/react/components/index.d.ts +7 -1
  398. package/fe/packages/ui/react/components/index.js +7 -1
  399. package/fe/packages/ui/react/components/table/index.d.ts +2 -0
  400. package/fe/packages/ui/react/components/table/index.js +1 -0
  401. package/fe/packages/ui/react/components/{table.d.ts → table/table.d.ts} +12 -2
  402. package/fe/packages/ui/react/components/table/table.js +116 -0
  403. package/fe/packages/ui/react/components/testPage/MenuTestPage.d.ts +2 -0
  404. package/fe/packages/ui/react/components/testPage/MenuTestPage.js +104 -0
  405. package/fe/packages/ui/react/components/testPage/index.js +300 -81
  406. package/fe/packages/ui/react/hooks/useExecuteOnce.d.ts +30 -0
  407. package/fe/packages/ui/react/hooks/useExecuteOnce.js +57 -0
  408. package/fe/packages/ui/react/hooks/useInit.d.ts +1 -1
  409. package/fe/packages/ui/react/hooks/useInit.js +1 -1
  410. package/fe/packages/ui/react/hooks/useLanguage.d.ts +1 -6
  411. package/fe/packages/ui/react/hooks/useRefState.d.ts +30 -0
  412. package/fe/packages/ui/react/hooks/useRefState.js +29 -0
  413. package/fe/packages/ui/react/hooks/useWatch.d.ts +23 -0
  414. package/fe/packages/ui/react/hooks/useWatch.js +87 -0
  415. package/fe/packages/ui/react/hooks/useWatch.test.d.ts +2 -0
  416. package/fe/packages/ui/react/hooks/useWatch.test.js +22 -0
  417. package/fe/packages/ui/react/i18n/I18nProvider.d.ts +31 -0
  418. package/fe/packages/ui/react/i18n/I18nProvider.js +25 -0
  419. package/fe/packages/ui/react/i18n/index.d.ts +4 -0
  420. package/fe/packages/ui/react/i18n/index.js +3 -0
  421. package/fe/packages/ui/react/i18n/useI18n.d.ts +13 -0
  422. package/fe/packages/ui/react/i18n/useI18n.js +18 -0
  423. package/fe/packages/ui/react/index.css +238 -0
  424. package/fe/packages/ui/react/index.d.ts +2 -0
  425. package/fe/packages/ui/react/index.js +2 -0
  426. package/fe/packages/ui/react/lib/createStoreHook.d.ts +9 -0
  427. package/fe/packages/ui/react/lib/createStoreHook.js +6 -0
  428. package/fe/packages/ui/react/lib/export.d.ts +2 -2
  429. package/fe/packages/ui/react/stores/language.d.ts +3 -12
  430. package/fe/packages/ui/react/stores/language.js +2 -51
  431. package/fe/typings/type.d.ts +5 -0
  432. package/fe/typings/type.js +1 -0
  433. package/model/index.d.ts +2 -0
  434. package/model/test.d.ts +2 -0
  435. package/model/types/data/button.d.ts +32 -0
  436. package/model/types/data/component.d.ts +40 -0
  437. package/model/types/data/fetchInfo.d.ts +20 -0
  438. package/model/types/data/schema.d.ts +98 -0
  439. package/model/types/data/search.d.ts +7 -0
  440. package/model/types/index.d.ts +3 -0
  441. package/model/types/menuType.d.ts +73 -0
  442. package/model/types/model.d.ts +33 -0
  443. package/package.json +36 -17
  444. package/{cjs → types}/app/controller/base.d.ts +4 -5
  445. package/types/app/controller/project.d.ts +22 -0
  446. package/{cjs → types}/app/controller/view.d.ts +1 -2
  447. package/types/app/extend/$fetch.d.ts +8 -0
  448. package/{cjs → types}/app/extend/db.d.ts +1 -1
  449. package/{cjs → types}/app/extend/logger.d.ts +1 -1
  450. package/{cjs → types}/app/extend/render-view.d.ts +1 -2
  451. package/{cjs → types}/app/middleware/api-params-verify.d.ts +1 -2
  452. package/{cjs → types}/app/middleware/api-sign-verify.d.ts +1 -2
  453. package/{esm/app/middleware/api-sign-verify.d.ts → types/app/middleware/error-handle.d.ts} +1 -3
  454. package/{cjs → types}/app/middleware/project-handler.d.ts +2 -2
  455. package/{cjs → types}/app/middleware.d.ts +0 -2
  456. package/{cjs/app/router/view.d.ts → types/app/router/project.d.ts} +1 -1
  457. package/types/app/router/view.d.ts +3 -0
  458. package/{cjs → types}/app/router-schema/project.d.ts +1 -1
  459. package/types/app/service/base.d.ts +9 -0
  460. package/types/app/service/project.d.ts +57 -0
  461. package/types/app/type.d.ts +5 -0
  462. package/{cjs → types}/app/typings.d.ts +17 -23
  463. package/types/bundler/defaultAlias.d.ts +3 -0
  464. package/types/bundler/index.d.ts +2 -0
  465. package/types/bundler/state.d.ts +18 -0
  466. package/types/bundler/utils.d.ts +9 -0
  467. package/types/config/config.default.d.ts +14 -0
  468. package/types/index.d.ts +28 -0
  469. package/types/packages/common/LRUCache.d.ts +1 -0
  470. package/types/packages/common/array/index.d.ts +6 -0
  471. package/types/packages/common/cache/LRUCache.d.ts +12 -0
  472. package/types/packages/common/cache/index.d.ts +1 -0
  473. package/types/packages/common/guards/index.d.ts +8 -0
  474. package/types/packages/common/http/index.d.ts +89 -0
  475. package/types/packages/common/i18n/default.d.ts +91 -0
  476. package/types/packages/common/i18n/en-US.d.ts +91 -0
  477. package/types/packages/common/i18n/index.d.ts +42 -0
  478. package/types/packages/common/i18n/locales.d.ts +7 -0
  479. package/types/packages/common/i18n/types.d.ts +70 -0
  480. package/types/packages/common/index.d.ts +10 -0
  481. package/types/packages/common/log/index.d.ts +32 -0
  482. package/types/packages/common/number/index.d.ts +2 -0
  483. package/types/packages/common/object/filterEmpty.d.ts +2 -0
  484. package/types/packages/common/object/filtereEmpty.d.ts +1 -0
  485. package/types/packages/common/object/index.d.ts +4 -0
  486. package/types/packages/common/string/index.d.ts +3 -0
  487. package/types/packages/common/types/index.d.ts +3 -0
  488. package/{cjs → types}/packages/core/index.d.ts +1 -1
  489. package/{cjs → types}/packages/core/loader/config.d.ts +1 -1
  490. package/{cjs → types}/packages/core/loader/controller.d.ts +2 -2
  491. package/{cjs → types}/packages/core/loader/middleware.d.ts +1 -1
  492. package/{esm → types}/packages/core/loader/model.d.ts +2 -3
  493. package/{cjs → types}/packages/core/loader/router-schema.d.ts +2 -2
  494. package/{cjs → types}/packages/core/loader/router.d.ts +1 -1
  495. package/{cjs → types}/packages/core/loader/service.d.ts +2 -2
  496. package/{cjs → types}/packages/core/types.d.ts +42 -3
  497. package/types/packages/utils/getAllFnReturnValue.d.ts +0 -0
  498. package/types/packages/utils/runFileFn.d.ts +7 -0
  499. package/types/typings/type.d.ts +4 -0
  500. package/cjs/app/controller/project.d.ts +0 -11
  501. package/cjs/app/middleware/error-handle.d.ts +0 -5
  502. package/cjs/app/router/project.d.ts +0 -4
  503. package/cjs/app/service/bese.d.ts +0 -10
  504. package/cjs/app/service/bese.js +0 -17
  505. package/cjs/app/service/project.d.ts +0 -27
  506. package/cjs/app/type.d.ts +0 -2
  507. package/cjs/bundler/index.d.ts +0 -1
  508. package/cjs/bundler/utils.d.ts +0 -7
  509. package/cjs/index.d.ts +0 -28
  510. package/cjs/packages/core/loader/model.d.ts +0 -36
  511. package/cjs/packages/utils/runFileFn.d.ts +0 -5
  512. package/cjs/typings/type.d.ts +0 -4
  513. package/cjs/typings/type.js +0 -2
  514. package/esm/app/controller/base.d.ts +0 -14
  515. package/esm/app/controller/project.d.ts +0 -12
  516. package/esm/app/controller/view.d.ts +0 -9
  517. package/esm/app/data/signKey.d.ts +0 -2
  518. package/esm/app/extend/db.d.ts +0 -3
  519. package/esm/app/extend/generateErrorMessage.d.ts +0 -8
  520. package/esm/app/extend/logger.d.ts +0 -12
  521. package/esm/app/extend/parsingParamsOnUrl.d.ts +0 -3
  522. package/esm/app/extend/render-view.d.ts +0 -5
  523. package/esm/app/middleware/api-params-verify.d.ts +0 -6
  524. package/esm/app/middleware/error-handle.d.ts +0 -6
  525. package/esm/app/middleware/project-handler.d.ts +0 -5
  526. package/esm/app/middleware.d.ts +0 -6
  527. package/esm/app/router/project.d.ts +0 -5
  528. package/esm/app/router/view.d.ts +0 -5
  529. package/esm/app/router-schema/project.d.ts +0 -4
  530. package/esm/app/service/bese.d.ts +0 -11
  531. package/esm/app/service/bese.js +0 -12
  532. package/esm/app/service/project.d.ts +0 -28
  533. package/esm/app/type.d.ts +0 -3
  534. package/esm/app/typings.d.ts +0 -50
  535. package/esm/bundler/dev.d.ts +0 -2
  536. package/esm/bundler/index.d.ts +0 -2
  537. package/esm/bundler/prod.d.ts +0 -2
  538. package/esm/bundler/utils.d.ts +0 -8
  539. package/esm/index.d.ts +0 -29
  540. package/esm/packages/core/env.d.ts +0 -16
  541. package/esm/packages/core/index.d.ts +0 -7
  542. package/esm/packages/core/loader/config.d.ts +0 -10
  543. package/esm/packages/core/loader/controller.d.ts +0 -18
  544. package/esm/packages/core/loader/extend.d.ts +0 -9
  545. package/esm/packages/core/loader/middleware.d.ts +0 -12
  546. package/esm/packages/core/loader/router-schema.d.ts +0 -19
  547. package/esm/packages/core/loader/router.d.ts +0 -9
  548. package/esm/packages/core/loader/service.d.ts +0 -18
  549. package/esm/packages/core/paths.d.ts +0 -12
  550. package/esm/packages/core/types.d.ts +0 -75
  551. package/esm/packages/utils/getAllFilesInFolder.d.ts +0 -10
  552. package/esm/packages/utils/getAllFnReturnValue.d.ts +0 -1
  553. package/esm/packages/utils/index.d.ts +0 -5
  554. package/esm/packages/utils/loadFile.d.ts +0 -21
  555. package/esm/packages/utils/path.d.ts +0 -25
  556. package/esm/packages/utils/runFileFn.d.ts +0 -6
  557. package/esm/typings/type.d.ts +0 -5
  558. package/fe/frontend/main.d.ts +0 -3
  559. package/fe/frontend/main.js +0 -6
  560. package/fe/packages/ui/react/components/ConfirmDialog.js +0 -9
  561. package/fe/packages/ui/react/components/DataTable/data-table.js +0 -141
  562. package/fe/packages/ui/react/components/Dropdown.d.ts +0 -16
  563. package/fe/packages/ui/react/components/Dropdown.js +0 -54
  564. package/fe/packages/ui/react/components/Form/SchemeForm/data.d.ts +0 -51
  565. package/fe/packages/ui/react/components/Form/SchemeForm/data.js +0 -8
  566. package/fe/packages/ui/react/components/Form/SchemeForm/index.js +0 -69
  567. package/fe/packages/ui/react/components/Textarea.js +0 -35
  568. package/fe/packages/ui/react/components/Tooltip.js +0 -118
  569. package/fe/packages/ui/react/components/table.js +0 -20
  570. package/fe/packages/ui/react/locales/index.d.ts +0 -8
  571. package/fe/packages/ui/react/locales/index.js +0 -6
  572. /package/{cjs/packages/utils/getAllFnReturnValue.d.ts → esm/packages/common/i18n/types.js} +0 -0
  573. /package/{esm/typings/type.js → fe/frontend/apps/dash/types.js} +0 -0
  574. /package/fe/packages/ui/react/components/{ConfirmDialog.d.ts → ConfirmDialog/ConfirmDialog.d.ts} +0 -0
  575. /package/fe/packages/ui/react/components/{Pagination.d.ts → Pagination/Pagination.d.ts} +0 -0
  576. /package/fe/packages/ui/react/components/{TreeSelect.d.ts → TreeSelect/TreeSelect.d.ts} +0 -0
  577. /package/fe/packages/ui/react/components/{breadcrumb.d.ts → breadcrumb/breadcrumb.d.ts} +0 -0
  578. /package/{cjs → types}/app/data/signKey.d.ts +0 -0
  579. /package/{cjs → types}/app/extend/generateErrorMessage.d.ts +0 -0
  580. /package/{cjs → types}/app/extend/parsingParamsOnUrl.d.ts +0 -0
  581. /package/{cjs → types}/bundler/dev.d.ts +0 -0
  582. /package/{cjs → types}/bundler/prod.d.ts +0 -0
  583. /package/{cjs → types}/packages/core/env.d.ts +0 -0
  584. /package/{cjs → types}/packages/core/loader/extend.d.ts +0 -0
  585. /package/{cjs → types}/packages/core/paths.d.ts +0 -0
  586. /package/{cjs → types}/packages/utils/getAllFilesInFolder.d.ts +0 -0
  587. /package/{cjs → types}/packages/utils/index.d.ts +0 -0
  588. /package/{cjs → types}/packages/utils/loadFile.d.ts +0 -0
  589. /package/{cjs → types}/packages/utils/path.d.ts +0 -0
@@ -1,6 +1,15 @@
1
1
  import * as React from 'react';
2
+ type TableFixed = 'left' | 'right';
3
+ type TableFixedCellProps = {
4
+ fixed?: TableFixed;
5
+ fixedOffset?: React.CSSProperties['left'];
6
+ fixedShadow?: boolean;
7
+ fixedZIndex?: React.CSSProperties['zIndex'];
8
+ };
2
9
  declare const Table: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLTableElement> & {
3
10
  containerClassName?: string;
11
+ containerRef?: React.Ref<HTMLDivElement>;
12
+ onContainerScroll?: React.UIEventHandler<HTMLDivElement>;
4
13
  } & React.RefAttributes<HTMLTableElement>>;
5
14
  declare const TableHeader: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLTableSectionElement> & React.RefAttributes<HTMLTableSectionElement>>;
6
15
  declare const TableBody: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLTableSectionElement> & React.RefAttributes<HTMLTableSectionElement>>;
@@ -8,10 +17,11 @@ declare const TableFooter: React.ForwardRefExoticComponent<React.HTMLAttributes<
8
17
  declare const TableRow: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLTableRowElement> & React.RefAttributes<HTMLTableRowElement>>;
9
18
  declare const TableHead: React.ForwardRefExoticComponent<React.ThHTMLAttributes<HTMLTableCellElement> & {
10
19
  isAction?: boolean;
11
- } & React.RefAttributes<HTMLTableCellElement>>;
20
+ } & TableFixedCellProps & React.RefAttributes<HTMLTableCellElement>>;
12
21
  declare const TableCell: React.ForwardRefExoticComponent<React.TdHTMLAttributes<HTMLTableCellElement> & {
13
22
  isAction?: boolean;
14
- } & React.RefAttributes<HTMLTableCellElement>>;
23
+ } & TableFixedCellProps & React.RefAttributes<HTMLTableCellElement>>;
15
24
  declare const TableCaption: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLTableCaptionElement> & React.RefAttributes<HTMLTableCaptionElement>>;
16
25
  export { Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow };
26
+ export type { TableFixed };
17
27
  //# sourceMappingURL=table.d.ts.map
@@ -0,0 +1,116 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { cn } from '../../lib/utils';
3
+ import * as React from 'react';
4
+ const fixedShadowClassNames = {
5
+ left: "data-[fixed-shadow=visible]:after:pointer-events-none data-[fixed-shadow=visible]:after:absolute data-[fixed-shadow=visible]:after:inset-y-0 data-[fixed-shadow=visible]:after:-right-[3px] data-[fixed-shadow=visible]:after:w-[3px] data-[fixed-shadow=visible]:after:bg-gradient-to-r data-[fixed-shadow=visible]:after:from-white/30 data-[fixed-shadow=visible]:after:via-white/8 data-[fixed-shadow=visible]:after:to-transparent data-[fixed-shadow=visible]:after:content-['']",
6
+ right: "data-[fixed-shadow=visible]:before:pointer-events-none data-[fixed-shadow=visible]:before:absolute data-[fixed-shadow=visible]:before:inset-y-0 data-[fixed-shadow=visible]:before:-left-[3px] data-[fixed-shadow=visible]:before:w-[3px] data-[fixed-shadow=visible]:before:bg-gradient-to-l data-[fixed-shadow=visible]:before:from-white/30 data-[fixed-shadow=visible]:before:via-white/8 data-[fixed-shadow=visible]:before:to-transparent data-[fixed-shadow=visible]:before:content-['']",
7
+ };
8
+ const getFixedCellStyle = ({ fixed, fixedOffset = 0, fixedZIndex = 1, style, }) => {
9
+ if (!fixed)
10
+ return style;
11
+ return {
12
+ position: 'sticky',
13
+ [fixed]: fixedOffset,
14
+ zIndex: fixedZIndex,
15
+ ...style,
16
+ };
17
+ };
18
+ const setRef = (ref, value) => {
19
+ if (typeof ref === 'function') {
20
+ ref(value);
21
+ return;
22
+ }
23
+ if (ref) {
24
+ ;
25
+ ref.current = value;
26
+ }
27
+ };
28
+ const getFixedPixelOffset = (cell, fixed) => {
29
+ const fixedOffset = Number.parseFloat(window.getComputedStyle(cell).getPropertyValue(fixed));
30
+ return Number.isFinite(fixedOffset) ? fixedOffset : 0;
31
+ };
32
+ const isFixedCellActive = (cell, fixed, containerRect) => {
33
+ const cellRect = cell.getBoundingClientRect();
34
+ const fixedOffset = getFixedPixelOffset(cell, fixed);
35
+ if (fixed === 'left') {
36
+ return cellRect.left <= containerRect.left + fixedOffset + 1;
37
+ }
38
+ return cellRect.right >= containerRect.right - fixedOffset - 1;
39
+ };
40
+ const updateFixedSideState = (row, fixed, containerRect, canShow) => {
41
+ if (!canShow)
42
+ return;
43
+ const cells = Array.from(row.querySelectorAll(`[data-tc-table-fixed="${fixed}"][data-tc-table-fixed-shadow="true"]`));
44
+ const activeCells = cells.filter((cell) => isFixedCellActive(cell, fixed, containerRect));
45
+ if (activeCells.length === 0)
46
+ return;
47
+ activeCells.forEach((cell) => {
48
+ cell.dataset.fixedActive = 'true';
49
+ });
50
+ const shadowCell = activeCells.reduce((current, cell) => {
51
+ const currentRect = current.getBoundingClientRect();
52
+ const cellRect = cell.getBoundingClientRect();
53
+ if (fixed === 'left') {
54
+ return cellRect.right > currentRect.right ? cell : current;
55
+ }
56
+ return cellRect.left < currentRect.left ? cell : current;
57
+ });
58
+ shadowCell.dataset.fixedShadow = 'visible';
59
+ };
60
+ const Table = React.forwardRef(({ className, containerClassName, containerRef, onContainerScroll, children, ...props }, ref) => {
61
+ const internalContainerRef = React.useRef(null);
62
+ const updateFixedShadowState = React.useCallback(() => {
63
+ const container = internalContainerRef.current;
64
+ if (!container)
65
+ return;
66
+ const scrollLeft = container.scrollLeft;
67
+ const maxScrollLeft = container.scrollWidth - container.clientWidth;
68
+ const containerRect = container.getBoundingClientRect();
69
+ container.querySelectorAll('[data-fixed-shadow="visible"], [data-fixed-active="true"]').forEach((cell) => {
70
+ delete cell.dataset.fixedShadow;
71
+ delete cell.dataset.fixedActive;
72
+ });
73
+ container.querySelectorAll('tr').forEach((row) => {
74
+ updateFixedSideState(row, 'left', containerRect, scrollLeft > 1);
75
+ updateFixedSideState(row, 'right', containerRect, maxScrollLeft - scrollLeft > 1);
76
+ });
77
+ }, []);
78
+ const handleContainerRef = React.useCallback((node) => {
79
+ internalContainerRef.current = node;
80
+ setRef(containerRef, node);
81
+ }, [containerRef]);
82
+ const handleContainerScroll = React.useCallback((event) => {
83
+ updateFixedShadowState();
84
+ onContainerScroll?.(event);
85
+ }, [onContainerScroll, updateFixedShadowState]);
86
+ React.useLayoutEffect(() => {
87
+ updateFixedShadowState();
88
+ const container = internalContainerRef.current;
89
+ if (!container || typeof ResizeObserver === 'undefined')
90
+ return;
91
+ const observer = new ResizeObserver(updateFixedShadowState);
92
+ observer.observe(container);
93
+ return () => observer.disconnect();
94
+ }, [children, updateFixedShadowState]);
95
+ return (_jsx("div", { ref: handleContainerRef, onScroll: handleContainerScroll, className: cn('tc-ui-table relative w-full overflow-auto rounded-[20px]', containerClassName), children: _jsx("table", { ref: ref, className: cn('w-full caption-bottom text-sm', className), ...props, children: children }) }));
96
+ });
97
+ Table.displayName = 'Table';
98
+ const TableHeader = React.forwardRef(({ className, ...props }, ref) => _jsx("thead", { ref: ref, className: cn('tc-ui-table-header bg-table-header', className), ...props }));
99
+ TableHeader.displayName = 'TableHeader';
100
+ const TableBody = React.forwardRef(({ className, ...props }, ref) => (_jsx("tbody", { ref: ref, className: cn('tc-ui-table-body [&_tr:last-child]:border-0', className), ...props })));
101
+ TableBody.displayName = 'TableBody';
102
+ const TableFooter = React.forwardRef(({ className, ...props }, ref) => (_jsx("tfoot", { ref: ref, className: cn('tc-ui-table-footer border-t bg-muted/50 font-medium [&>tr]:last:border-b-0', className), ...props })));
103
+ TableFooter.displayName = 'TableFooter';
104
+ const TableRow = React.forwardRef(({ className, ...props }, ref) => (_jsx("tr", { ref: ref, className: cn('tc-ui-table-row border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted', className), ...props })));
105
+ TableRow.displayName = 'TableRow';
106
+ const TableHead = React.forwardRef(({ className, isAction, fixed, fixedOffset, fixedShadow = true, fixedZIndex = 10, style, ...props }, ref) => {
107
+ return (_jsx("th", { ref: ref, "data-tc-table-fixed": fixed, "data-tc-table-fixed-shadow": fixed && fixedShadow ? 'true' : undefined, className: cn('tc-ui-table-head h-12 px-4 text-left align-middle text-xs font-normal', 'text-table-head-text', isAction && 'bg-table-header text-table-head-text w-[96px] text-center', fixed && 'data-[fixed-active=true]:bg-table-header', fixed && fixedShadow && fixedShadowClassNames[fixed], className), style: getFixedCellStyle({ fixed, fixedOffset, fixedZIndex, style }), ...props }));
108
+ });
109
+ TableHead.displayName = 'TableHead';
110
+ const TableCell = React.forwardRef(({ className, isAction, fixed, fixedOffset, fixedShadow = true, fixedZIndex = 1, style, ...props }, ref) => {
111
+ return (_jsx("td", { ref: ref, "data-tc-table-fixed": fixed, "data-tc-table-fixed-shadow": fixed && fixedShadow ? 'true' : undefined, className: cn('tc-ui-table-cell p-4 align-middle text-sm font-normal', 'text-table-cell-text', isAction && 'text-table-action-text w-[96px] text-center', isAction && !fixed && 'bg-background', fixed && 'data-[fixed-active=true]:bg-background', fixed && fixedShadow && fixedShadowClassNames[fixed], className), style: getFixedCellStyle({ fixed, fixedOffset, fixedZIndex, style }), ...props }));
112
+ });
113
+ TableCell.displayName = 'TableCell';
114
+ const TableCaption = React.forwardRef(({ className, ...props }, ref) => (_jsx("caption", { ref: ref, className: cn('tc-ui-table-caption mt-4 text-sm text-muted-foreground', className), ...props })));
115
+ TableCaption.displayName = 'TableCaption';
116
+ export { Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow };
@@ -0,0 +1,2 @@
1
+ export default function MenuTestPage(): import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=MenuTestPage.d.ts.map
@@ -0,0 +1,104 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useState } from 'react';
3
+ import { LayoutDashboard, Package, Settings, Users, FileText, BarChart3, ShoppingCart, Bell, HelpCircle, } from 'lucide-react';
4
+ import { Menu } from '../Menu';
5
+ // ─── 示例数据 ────────────────────────────────────────────────────────────────
6
+ const menuItems = [
7
+ {
8
+ key: 'dashboard',
9
+ label: 'Dashboard',
10
+ icon: _jsx(LayoutDashboard, { className: "h-4 w-4" }),
11
+ },
12
+ {
13
+ key: 'products',
14
+ label: 'Products',
15
+ icon: _jsx(Package, { className: "h-4 w-4" }),
16
+ children: [
17
+ { key: 'products-list', label: 'All Products' },
18
+ { key: 'products-create', label: 'Create New' },
19
+ {
20
+ key: 'products-categories',
21
+ label: 'Categories',
22
+ children: [
23
+ { key: 'cat-electronics', label: 'Electronics' },
24
+ { key: 'cat-clothing', label: 'Clothing' },
25
+ ],
26
+ },
27
+ ],
28
+ },
29
+ {
30
+ key: 'settings',
31
+ label: 'Settings',
32
+ icon: _jsx(Settings, { className: "h-4 w-4" }),
33
+ children: [
34
+ { key: 'settings-profile', label: 'Profile' },
35
+ { key: 'settings-billing', label: 'Billing', danger: true },
36
+ ],
37
+ },
38
+ ];
39
+ const topItems = [
40
+ { key: 'home', label: 'Home' },
41
+ {
42
+ key: 'services',
43
+ label: 'Services',
44
+ children: [
45
+ { key: 'consulting', label: 'Consulting' },
46
+ { key: 'development', label: 'Development' },
47
+ ],
48
+ },
49
+ { key: 'about', label: 'About' },
50
+ ];
51
+ const iconMenuItems = [
52
+ { key: 'dashboard', label: 'Dashboard', icon: _jsx(LayoutDashboard, { className: "h-4 w-4" }) },
53
+ {
54
+ key: 'users',
55
+ label: 'Users',
56
+ icon: _jsx(Users, { className: "h-4 w-4" }),
57
+ children: [
58
+ { key: 'users-list', label: 'All Users', icon: _jsx(Users, { className: "h-4 w-4" }) },
59
+ { key: 'users-roles', label: 'Roles', icon: _jsx(FileText, { className: "h-4 w-4" }) },
60
+ ],
61
+ },
62
+ {
63
+ key: 'analytics',
64
+ label: 'Analytics',
65
+ icon: _jsx(BarChart3, { className: "h-4 w-4" }),
66
+ children: [
67
+ { key: 'analytics-overview', label: 'Overview' },
68
+ { key: 'analytics-reports', label: 'Reports' },
69
+ ],
70
+ },
71
+ { key: 'orders', label: 'Orders', icon: _jsx(ShoppingCart, { className: "h-4 w-4" }) },
72
+ { key: 'notifications', label: 'Notifications', icon: _jsx(Bell, { className: "h-4 w-4" }) },
73
+ { key: 'help', label: 'Help', icon: _jsx(HelpCircle, { className: "h-4 w-4" }) },
74
+ ];
75
+ // ─── 区块包装 ────────────────────────────────────────────────────────────────
76
+ function Section({ title, description, children }) {
77
+ return (_jsxs("section", { className: "space-y-3", children: [_jsxs("div", { children: [_jsx("h2", { className: "text-lg font-semibold", children: title }), description && _jsx("p", { className: "text-sm text-muted-foreground", children: description })] }), children] }));
78
+ }
79
+ // ─── 页面 ────────────────────────────────────────────────────────────────────
80
+ export default function MenuTestPage() {
81
+ const [selectedKey, setSelectedKey] = useState('dashboard');
82
+ const [collapsed, setCollapsed] = useState(false);
83
+ const [collapsedKey, setCollapsedKey] = useState('dashboard');
84
+ const [accordionKey, setAccordionKey] = useState('dashboard');
85
+ const [topKey, setTopKey] = useState('home');
86
+ return (_jsxs("div", { className: "p-8 max-w-6xl mx-auto space-y-10", children: [_jsxs("div", { children: [_jsx("h1", { className: "text-3xl font-bold mb-2", children: "Menu \u7EC4\u4EF6\u4F7F\u7528\u793A\u4F8B" }), _jsx("p", { className: "text-muted-foreground", children: "\u652F\u6301 top / left \u5E03\u5C40\u3001\u591A\u5C42\u5D4C\u5957\u3001\u56FE\u6807\u3001\u6298\u53E0\u7B49\u573A\u666F" })] }), _jsxs(Section, { title: "1. \u57FA\u7840 Left \u6A21\u5F0F (data config)", description: "\u6700\u5E38\u7528\u7684\u4FA7\u8FB9\u83DC\u5355\uFF0C\u652F\u6301\u591A\u7EA7\u5C55\u5F00 (expandMode=multiple)", children: [_jsx("div", { className: "w-56 border rounded-lg overflow-hidden", children: _jsx(Menu, { mode: "left", expandMode: "multiple", selectedKey: selectedKey, onSelect: setSelectedKey, items: menuItems }) }), _jsxs("p", { className: "text-sm text-muted-foreground", children: ["\u5F53\u524D\u9009\u4E2D: ", selectedKey] })] }), _jsx(Section, { title: "2. \u624B\u98CE\u7434\u5C55\u5F00 (accordion)", description: "\u540C\u4E00\u5C42\u7EA7\u540C\u65F6\u53EA\u80FD\u5C55\u5F00\u4E00\u4E2A\u5B50\u83DC\u5355", children: _jsx("div", { className: "w-56 border rounded-lg overflow-hidden", children: _jsx(Menu, { mode: "left", expandMode: "accordion", selectedKey: accordionKey, onSelect: setAccordionKey, items: menuItems }) }) }), _jsx(Section, { title: "3. \u6298\u53E0\u6A21\u5F0F (collapsed)", description: "\u6536\u8D77\u540E\u4EC5\u5C55\u793A\u56FE\u6807\uFF0Chover \u5F39\u51FA\u5B50\u83DC\u5355", children: _jsx("div", { className: "border rounded-lg overflow-hidden inline-flex", children: _jsx(Menu, { mode: "left", selectedKey: collapsedKey, onSelect: setCollapsedKey, collapsed: collapsed, onCollapse: setCollapsed, items: iconMenuItems }) }) }), _jsx(Section, { title: "4. JSX \u7EC4\u5408\u5F0F", description: "\u4E0D\u4F7F\u7528 data config\uFF0C\u76F4\u63A5\u7EC4\u5408 Menu.Item / Menu.SubMenu", children: _jsx("div", { className: "w-56 border rounded-lg overflow-hidden", children: _jsxs(Menu, { mode: "left", defaultSelectedKey: "overview", children: [_jsx(Menu.Item, { eventKey: "overview", icon: _jsx(LayoutDashboard, { className: "h-4 w-4" }), children: "Overview" }), _jsxs(Menu.SubMenu, { eventKey: "manage", label: "Manage", icon: _jsx(Package, { className: "h-4 w-4" }), children: [_jsx(Menu.Item, { eventKey: "manage-list", children: "List" }), _jsx(Menu.Item, { eventKey: "manage-edit", children: "Edit" })] }), _jsxs(Menu.SubMenu, { eventKey: "settings", label: "Settings", icon: _jsx(Settings, { className: "h-4 w-4" }), children: [_jsx(Menu.Item, { eventKey: "jsx-profile", children: "Profile" }), _jsx(Menu.Item, { eventKey: "jsx-billing", danger: true, children: "Billing" })] }), _jsx(Menu.Item, { eventKey: "help", icon: _jsx(HelpCircle, { className: "h-4 w-4" }), children: "Help" })] }) }) }), _jsx(Section, { title: "5. \u5B50\u83DC\u5355\u5F39\u51FA\u6A21\u5F0F (popup)", description: "\u5C55\u5F00\u72B6\u6001\u4E0B\u4E5F\u80FD\u8BA9\u5B50\u83DC\u5355\u4EE5\u5F39\u51FA\u65B9\u5F0F\u5C55\u793A", children: _jsx("div", { className: "w-56 border rounded-lg overflow-hidden", children: _jsx(Menu, { mode: "left", expandMode: "multiple", selectedKey: selectedKey, onSelect: setSelectedKey, items: [
87
+ { key: 'd1', label: 'Dashboard', icon: _jsx(LayoutDashboard, { className: "h-4 w-4" }) },
88
+ {
89
+ key: 'p1',
90
+ label: 'Products',
91
+ icon: _jsx(Package, { className: "h-4 w-4" }),
92
+ popup: true,
93
+ children: [
94
+ { key: 'p1-list', label: 'All Products' },
95
+ { key: 'p1-create', label: 'Create New' },
96
+ ],
97
+ },
98
+ { key: 'd3', label: 'Help', icon: _jsx(HelpCircle, { className: "h-4 w-4" }) },
99
+ ] }) }) }), _jsxs(Section, { title: "6. Top \u6A21\u5F0F", description: "\u4E00\u7EA7\u83DC\u5355\u6C34\u5E73\u6392\u5217\uFF0C\u5B50\u83DC\u5355\u4E0B\u62C9\u5F39\u51FA", children: [_jsx("div", { className: "border rounded-lg w-full", children: _jsx(Menu, { mode: "top", selectedKey: topKey, onSelect: setTopKey, items: topItems, className: "border-b" }) }), _jsxs("p", { className: "text-sm text-muted-foreground", children: ["\u5F53\u524D\u9009\u4E2D: ", topKey] })] }), _jsx(Section, { title: "7. Click \u89E6\u53D1", description: "\u70B9\u51FB\u5C55\u5F00\u5B50\u83DC\u5355\uFF0C\u800C\u975E hover", children: _jsx("div", { className: "w-56 border rounded-lg overflow-hidden", children: _jsx(Menu, { mode: "left", expandTrigger: "click", expandMode: "multiple", selectedKey: selectedKey, onSelect: setSelectedKey, items: menuItems }) }) }), _jsx(Section, { title: "8. \u72B6\u6001\u5C55\u793A", description: "disabled / danger \u6837\u5F0F\u6F14\u793A", children: _jsx("div", { className: "w-56 border rounded-lg overflow-hidden", children: _jsxs(Menu, { mode: "left", defaultSelectedKey: "normal", children: [_jsx(Menu.Item, { eventKey: "normal", icon: _jsx(FileText, { className: "h-4 w-4" }), children: "\u6B63\u5E38\u83DC\u5355\u9879" }), _jsx(Menu.Item, { eventKey: "disabled-item", disabled: true, icon: _jsx(FileText, { className: "h-4 w-4" }), children: "\u7981\u7528\u83DC\u5355\u9879" }), _jsx(Menu.Item, { eventKey: "danger-item", danger: true, icon: _jsx(FileText, { className: "h-4 w-4" }), children: "\u5371\u9669\u83DC\u5355\u9879" }), _jsxs(Menu.SubMenu, { eventKey: "sub-disabled", label: "\u542B\u7981\u7528\u5B50\u9879", icon: _jsx(Settings, { className: "h-4 w-4" }), children: [_jsx(Menu.Item, { eventKey: "sub-normal", children: "\u6B63\u5E38\u5B50\u9879" }), _jsx(Menu.Item, { eventKey: "sub-danger", danger: true, children: "\u5371\u9669\u5B50\u9879" }), _jsx(Menu.Item, { eventKey: "sub-disabled-item", disabled: true, children: "\u7981\u7528\u5B50\u9879" })] })] }) }) }), _jsx(Section, { title: "9. \u65E0 icon \u6298\u53E0", description: "\u6536\u8D77\u65F6\u65E0 icon \u7684\u83DC\u5355\u9879\u7559\u767D\u5360\u4F4D", children: _jsx("div", { className: "border rounded-lg overflow-hidden inline-flex", children: _jsx(Menu, { mode: "left", defaultCollapsed: true, expandMode: "multiple", items: [
100
+ { key: 'a', label: 'Home', icon: _jsx(LayoutDashboard, { className: "h-4 w-4" }) },
101
+ { key: 'b', label: 'Reports' },
102
+ { key: 'c', label: 'Settings', icon: _jsx(Settings, { className: "h-4 w-4" }) },
103
+ ] }) }) })] }));
104
+ }