@_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
@@ -0,0 +1,11 @@
1
+ export * from "./array";
2
+ export * from "./cache";
3
+ export * from "./guards";
4
+ export * from "./http";
5
+ export * from "./i18n";
6
+ export * from "./log";
7
+ export * from "./number";
8
+ export * from "./object";
9
+ export * from "./string";
10
+ export * from "./types";
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,10 @@
1
+ export * from "./array";
2
+ export * from "./cache";
3
+ export * from "./guards";
4
+ export * from "./http";
5
+ export * from "./i18n";
6
+ export * from "./log";
7
+ export * from "./number";
8
+ export * from "./object";
9
+ export * from "./string";
10
+ export * from "./types";
@@ -0,0 +1,33 @@
1
+ export declare const ANSI_RESET = "\u001B[0m";
2
+ export declare const ansiColors: {
3
+ readonly black: "\u001B[30m";
4
+ readonly red: "\u001B[31m";
5
+ readonly green: "\u001B[32m";
6
+ readonly yellow: "\u001B[33m";
7
+ readonly blue: "\u001B[34m";
8
+ readonly magenta: "\u001B[35m";
9
+ readonly pink: "\u001B[95m";
10
+ readonly cyan: "\u001B[36m";
11
+ readonly white: "\u001B[37m";
12
+ readonly gray: "\u001B[90m";
13
+ };
14
+ export type LogColor = keyof typeof ansiColors;
15
+ export type ColorLogOptions = {
16
+ color?: LogColor;
17
+ prefix?: string;
18
+ suffix?: string;
19
+ };
20
+ export type ColorLogAffixes = Omit<ColorLogOptions, 'color'>;
21
+ export declare const colorize: (message: unknown, color?: LogColor) => string;
22
+ export declare const joinColorized: (...messages: readonly unknown[]) => string;
23
+ export declare const logJoinColorized: (...messages: readonly unknown[]) => void;
24
+ export declare function colorLog(color: LogColor, ...data: unknown[]): void;
25
+ export declare function colorLog(...data: unknown[]): void;
26
+ export declare const logColor: (color: LogColor, ...data: unknown[]) => void;
27
+ export declare const logColorized: (...messages: readonly unknown[]) => void;
28
+ export declare const logGreen: (...data: unknown[]) => void;
29
+ export declare const logYellow: (...data: unknown[]) => void;
30
+ export declare const logPink: (...data: unknown[]) => void;
31
+ export declare const logWhite: (...data: unknown[]) => void;
32
+ export declare const logRed: (...data: unknown[]) => void;
33
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,176 @@
1
+ export const ANSI_RESET = '\x1b[0m';
2
+ export const ansiColors = {
3
+ black: '\x1b[30m',
4
+ red: '\x1b[31m',
5
+ green: '\x1b[32m',
6
+ yellow: '\x1b[33m',
7
+ blue: '\x1b[34m',
8
+ magenta: '\x1b[35m',
9
+ pink: '\x1b[95m',
10
+ cyan: '\x1b[36m',
11
+ white: '\x1b[37m',
12
+ gray: '\x1b[90m',
13
+ };
14
+ const getConsole = () => {
15
+ const globalValue = globalThis;
16
+ return globalValue.console;
17
+ };
18
+ export const colorize = (message, color = 'green') => {
19
+ return `${ansiColors[color]}${String(message)}${ANSI_RESET}`;
20
+ };
21
+ export const joinColorized = (...messages) => {
22
+ return messages.map(String).join('');
23
+ };
24
+ export const logJoinColorized = (...messages) => {
25
+ getConsole()?.log(messages.map(String).join(''));
26
+ };
27
+ const inspectPrimitive = (value) => {
28
+ if (typeof value === 'string')
29
+ return `'${value}'`;
30
+ if (typeof value === 'bigint')
31
+ return `${value}n`;
32
+ if (typeof value === 'symbol')
33
+ return String(value);
34
+ if (typeof value === 'function')
35
+ return `[Function${value.name ? `: ${value.name}` : ''}]`;
36
+ if (value === undefined)
37
+ return 'undefined';
38
+ if (value === null)
39
+ return 'null';
40
+ return String(value);
41
+ };
42
+ const inspectValue = (value, context, depth = 0) => {
43
+ if (value === null || typeof value !== 'object')
44
+ return inspectPrimitive(value);
45
+ if (context.seen.has(value))
46
+ return '[Circular]';
47
+ if (value instanceof Date)
48
+ return value.toISOString();
49
+ if (value instanceof Error)
50
+ return value.stack ?? `${value.name}: ${value.message}`;
51
+ context.seen.add(value);
52
+ if (Array.isArray(value)) {
53
+ const items = value.map((item) => inspectValue(item, context, depth + 1));
54
+ context.seen.delete(value);
55
+ return `[${items.join(', ')}]`;
56
+ }
57
+ const entries = Object.entries(value);
58
+ if (entries.length === 0) {
59
+ context.seen.delete(value);
60
+ return '{}';
61
+ }
62
+ const indent = ' '.repeat(depth);
63
+ const nextIndent = ' '.repeat(depth + 1);
64
+ const body = entries
65
+ .map(([key, item]) => `${nextIndent}${key}: ${inspectValue(item, context, depth + 1)}`)
66
+ .join(',\n');
67
+ context.seen.delete(value);
68
+ return `{\n${body}\n${indent}}`;
69
+ };
70
+ const stringifyLogValue = (value) => {
71
+ return typeof value === 'string' ? value : inspectValue(value, { seen: new WeakSet() });
72
+ };
73
+ const formatSpecifier = (specifier, value) => {
74
+ if (specifier === '%%')
75
+ return '%';
76
+ if (specifier === '%s')
77
+ return String(value);
78
+ if (specifier === '%d' || specifier === '%i')
79
+ return Number.parseInt(String(value), 10).toString();
80
+ if (specifier === '%f')
81
+ return Number.parseFloat(String(value)).toString();
82
+ if (specifier === '%j') {
83
+ try {
84
+ return JSON.stringify(value);
85
+ }
86
+ catch {
87
+ return '[Circular]';
88
+ }
89
+ }
90
+ if (specifier === '%o' || specifier === '%O')
91
+ return stringifyLogValue(value);
92
+ if (specifier === '%c')
93
+ return '';
94
+ return specifier;
95
+ };
96
+ const formatLogData = (data) => {
97
+ if (data.length === 0)
98
+ return '';
99
+ const [first, ...rest] = data;
100
+ if (typeof first !== 'string') {
101
+ return data.map(stringifyLogValue).join(' ');
102
+ }
103
+ let index = 0;
104
+ const formatted = first.replace(/%[sdifjoOc%]/g, (specifier) => {
105
+ if (specifier === '%%')
106
+ return '%';
107
+ if (index >= rest.length)
108
+ return specifier;
109
+ const value = rest[index];
110
+ index += 1;
111
+ return formatSpecifier(specifier, value);
112
+ });
113
+ const remaining = rest.slice(index).map(stringifyLogValue);
114
+ return [formatted, ...remaining].join(' ');
115
+ };
116
+ const isLogColor = (value) => {
117
+ return typeof value === 'string' && value in ansiColors;
118
+ };
119
+ const isColorLogOptions = (value) => {
120
+ if (value === null || typeof value !== 'object')
121
+ return false;
122
+ const keys = Object.keys(value);
123
+ if (!keys.some((key) => key === 'color' || key === 'prefix' || key === 'suffix')) {
124
+ return false;
125
+ }
126
+ const options = value;
127
+ return options.color === undefined || isLogColor(options.color);
128
+ };
129
+ const withColor = (color, data, options = {}) => {
130
+ const prefix = options.prefix ?? '';
131
+ const suffix = options.suffix ?? '';
132
+ const message = formatLogData(data);
133
+ return [`${ansiColors[color]}${prefix}${message}${suffix}${ANSI_RESET}`];
134
+ };
135
+ const printColorMessage = (data, config) => {
136
+ const color = config.color ?? 'green';
137
+ getConsole()?.log(...withColor(color, data, config));
138
+ };
139
+ export function colorLog(...data) {
140
+ const [first, ...rest] = data;
141
+ const last = data.at(-1);
142
+ if (isLogColor(first) && data.length >= 2) {
143
+ printColorMessage(rest, { color: first });
144
+ return;
145
+ }
146
+ if (isLogColor(last) && data.length === 2) {
147
+ printColorMessage([first], { color: last });
148
+ return;
149
+ }
150
+ if (isColorLogOptions(last) && data.length >= 2) {
151
+ printColorMessage(data.slice(0, -1), last);
152
+ return;
153
+ }
154
+ printColorMessage(data, { color: 'green' });
155
+ }
156
+ export const logColor = (color, ...data) => {
157
+ printColorMessage(data, { color });
158
+ };
159
+ export const logColorized = (...messages) => {
160
+ getConsole()?.log(...messages);
161
+ };
162
+ export const logGreen = (...data) => {
163
+ logColor('green', ...data);
164
+ };
165
+ export const logYellow = (...data) => {
166
+ logColor('yellow', ...data);
167
+ };
168
+ export const logPink = (...data) => {
169
+ logColor('pink', ...data);
170
+ };
171
+ export const logWhite = (...data) => {
172
+ logColor('white', ...data);
173
+ };
174
+ export const logRed = (...data) => {
175
+ logColor('red', ...data);
176
+ };
@@ -0,0 +1,3 @@
1
+ export declare const clamp: (value: number, min: number, max: number) => number;
2
+ export declare const toFiniteNumber: (value: unknown, fallback?: number) => number;
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,10 @@
1
+ export const clamp = (value, min, max) => {
2
+ if (min > max) {
3
+ throw new RangeError("min must be less than or equal to max");
4
+ }
5
+ return Math.min(Math.max(value, min), max);
6
+ };
7
+ export const toFiniteNumber = (value, fallback = 0) => {
8
+ const numberValue = typeof value === "number" ? value : Number(value);
9
+ return Number.isFinite(numberValue) ? numberValue : fallback;
10
+ };
@@ -0,0 +1,3 @@
1
+ export declare function filterEmpty<T>(data: T): T | undefined;
2
+ export declare const filtereEmpty: typeof filterEmpty;
3
+ //# sourceMappingURL=filterEmpty.d.ts.map
@@ -0,0 +1,33 @@
1
+ import { isPlainObject } from "../guards";
2
+ const isEmptyValue = (value) => {
3
+ if (value === undefined)
4
+ return true;
5
+ if (Array.isArray(value))
6
+ return value.length === 0;
7
+ if (isPlainObject(value))
8
+ return Object.keys(value).length === 0;
9
+ return false;
10
+ };
11
+ const filterEmptyValue = (value) => {
12
+ if (Array.isArray(value)) {
13
+ const result = value
14
+ .map((item) => filterEmptyValue(item))
15
+ .filter((item) => !isEmptyValue(item));
16
+ return result.length > 0 ? result : undefined;
17
+ }
18
+ if (isPlainObject(value)) {
19
+ const result = {};
20
+ for (const [key, item] of Object.entries(value)) {
21
+ const nextValue = filterEmptyValue(item);
22
+ if (!isEmptyValue(nextValue)) {
23
+ result[key] = nextValue;
24
+ }
25
+ }
26
+ return Object.keys(result).length > 0 ? result : undefined;
27
+ }
28
+ return value;
29
+ };
30
+ export function filterEmpty(data) {
31
+ return filterEmptyValue(data);
32
+ }
33
+ export const filtereEmpty = filterEmpty;
@@ -0,0 +1,5 @@
1
+ export * from "./filterEmpty";
2
+ export declare const pick: <T extends object, K extends keyof T>(target: T, keys: readonly K[]) => Pick<T, K>;
3
+ export declare const omit: <T extends object, K extends keyof T>(target: T, keys: readonly K[]) => Omit<T, K>;
4
+ export declare const mapValues: <T extends object, TResult>(target: T, mapper: <K extends keyof T>(value: T[K], key: K) => TResult) => { [K in keyof T]: TResult; };
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,25 @@
1
+ export * from "./filterEmpty";
2
+ export const pick = (target, keys) => {
3
+ const result = {};
4
+ for (const key of keys) {
5
+ if (key in target) {
6
+ result[key] = target[key];
7
+ }
8
+ }
9
+ return result;
10
+ };
11
+ export const omit = (target, keys) => {
12
+ const result = { ...target };
13
+ for (const key of keys) {
14
+ delete result[key];
15
+ }
16
+ return result;
17
+ };
18
+ export const mapValues = (target, mapper) => {
19
+ const result = {};
20
+ const keys = Object.keys(target);
21
+ for (const key of keys) {
22
+ result[key] = mapper(target[key], key);
23
+ }
24
+ return result;
25
+ };
@@ -0,0 +1,4 @@
1
+ export declare const isBlank: (value: string | null | undefined) => boolean;
2
+ export declare const capitalize: (value: string) => string;
3
+ export declare const kebabCase: (value: string) => string;
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,17 @@
1
+ export const isBlank = (value) => {
2
+ return value === null || value === undefined || value.trim().length === 0;
3
+ };
4
+ export const capitalize = (value) => {
5
+ if (value.length === 0)
6
+ return value;
7
+ const first = value.charAt(0).toUpperCase();
8
+ return `${first}${value.slice(1)}`;
9
+ };
10
+ export const kebabCase = (value) => {
11
+ return value
12
+ .trim()
13
+ .replace(/([a-z0-9])([A-Z])/g, "$1-$2")
14
+ .replace(/[\s_]+/g, "-")
15
+ .replace(/-+/g, "-")
16
+ .toLowerCase();
17
+ };
@@ -0,0 +1,4 @@
1
+ export type Maybe<T> = T | null | undefined;
2
+ export type Primitive = string | number | boolean | bigint | symbol | null | undefined;
3
+ export type Dictionary<T = unknown> = Record<string, T>;
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ export {};
@@ -1,17 +1,21 @@
1
- import type { ButtonHTMLAttributes, ReactNode } from 'react';
2
- export type ButtonVariant = 'default' | 'primary' | 'text' | 'link';
1
+ import type { AnchorHTMLAttributes, ButtonHTMLAttributes, ReactNode } from 'react';
2
+ export type ButtonVariant = 'default' | 'primary' | 'dashed' | 'text' | 'link';
3
+ export type ButtonState = 'danger' | 'ghost';
3
4
  export type ButtonSize = 'sm' | 'md' | 'lg';
4
- export interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
5
- /**
6
- * 按钮变体
7
- * @default 'default'
8
- */
9
- variant?: ButtonVariant;
5
+ type ButtonCommonProps = {
10
6
  /**
11
7
  * 按钮尺寸
12
8
  * @default 'md'
13
9
  */
14
10
  size?: ButtonSize;
11
+ /**
12
+ * 按钮状态
13
+ */
14
+ state?: ButtonState;
15
+ /**
16
+ * 是否禁用
17
+ */
18
+ disabled?: boolean;
15
19
  /**
16
20
  * 是否显示加载状态
17
21
  */
@@ -33,7 +37,22 @@ export interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
33
37
  * 作为子元素,用于更灵活的布局
34
38
  */
35
39
  children?: ReactNode;
36
- }
37
- declare const Button: import("react").ForwardRefExoticComponent<ButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
40
+ };
41
+ type ButtonElementVariant = Exclude<ButtonVariant, 'link'>;
42
+ export type ButtonProps = ButtonElementProps | ButtonLinkProps;
43
+ export type ButtonElementProps = ButtonCommonProps & Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'disabled'> & {
44
+ /**
45
+ * 按钮变体
46
+ * @default 'default'
47
+ */
48
+ variant?: ButtonElementVariant;
49
+ };
50
+ export type ButtonLinkProps = ButtonCommonProps & AnchorHTMLAttributes<HTMLAnchorElement> & {
51
+ /**
52
+ * 链接变体,渲染为 a 标签
53
+ */
54
+ variant: 'link';
55
+ };
56
+ declare const Button: import("react").ForwardRefExoticComponent<ButtonProps & import("react").RefAttributes<HTMLButtonElement | HTMLAnchorElement>>;
38
57
  export { Button };
39
58
  //# sourceMappingURL=Button.d.ts.map
@@ -1,42 +1,72 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { cn } from '../../lib/utils';
3
3
  import { forwardRef } from 'react';
4
- const Button = forwardRef(({ className, variant = 'default', size = 'md', disabled, loading, leftIcon, rightIcon, noUnderline, children, ...props }, ref) => {
4
+ const Button = forwardRef((props, ref) => {
5
+ const { className, size = 'md', state, disabled: disabledProp, loading: loadingProp, leftIcon, rightIcon, noUnderline, children, } = props;
6
+ const variant = props.variant ?? 'default';
7
+ const danger = state === 'danger';
8
+ const ghost = state === 'ghost';
9
+ const loading = loadingProp;
10
+ const disabled = disabledProp;
5
11
  const isDisabled = disabled || loading;
6
12
  // 基础样式
7
- const baseStyles = 'inline-flex items-center justify-center rounded-lg font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2';
8
- // 变体样式
9
- const variantStyles = {
10
- default: 'bg-white border border-border text-foreground hover:bg-muted/50 focus-visible:ring-border',
11
- primary: 'bg-theme text-theme-foreground border border-theme hover:bg-theme/90 focus-visible:ring-theme',
12
- text: 'bg-transparent border-0 text-foreground hover:bg-muted/30 focus-visible:ring-border',
13
- // 链接样式按钮:无背景、无边框、与正文相同颜色,仅在悬停时下划线(可通过 noUnderline 控制)
14
- link: 'bg-transparent border-0 text-foreground focus-visible:ring-border',
15
- };
16
- // 禁用状态样式(根据不同 variant)
17
- const disabledStyles = {
18
- default: 'disabled:bg-white/60 disabled:border-border/60 disabled:text-foreground/60 disabled:hover:bg-white/60',
19
- primary: 'disabled:bg-theme/60 disabled:border-theme/0 disabled:text-theme-foreground/60 disabled:hover:bg-theme/60',
20
- text: 'disabled:text-foreground/40 disabled:hover:bg-transparent',
21
- link: 'disabled:text-foreground/40',
13
+ const baseStyles = 'inline-flex items-center justify-center rounded-lg font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 cursor-pointer';
14
+ const getVariantStyles = () => {
15
+ if (variant === 'text' || variant === 'link') {
16
+ return danger
17
+ ? 'bg-transparent border-0 text-destructive focus-visible:ring-destructive'
18
+ : 'bg-transparent border-0 text-foreground focus-visible:ring-border';
19
+ }
20
+ const ghostStyles = ghost && 'bg-transparent hover:bg-transparent';
21
+ if (danger) {
22
+ if (variant === 'primary') {
23
+ return cn(ghost
24
+ ? 'border border-destructive text-destructive focus-visible:ring-destructive'
25
+ : 'bg-destructive text-destructive-foreground border border-destructive hover:bg-destructive/90 focus-visible:ring-destructive', ghostStyles);
26
+ }
27
+ return cn(ghost ? 'text-destructive' : 'bg-background text-destructive hover:bg-destructive/10', variant === 'dashed' ? 'border border-dashed' : 'border', 'border-destructive focus-visible:ring-destructive', ghostStyles);
28
+ }
29
+ const variantStyles = {
30
+ default: 'bg-background border border-border text-foreground hover:bg-muted/50 focus-visible:ring-border',
31
+ primary: 'bg-theme text-theme-foreground border border-theme hover:bg-theme/90 focus-visible:ring-theme',
32
+ dashed: 'bg-background border border-dashed border-border text-foreground hover:bg-muted/50 focus-visible:ring-border',
33
+ text: 'bg-transparent border-0 text-foreground focus-visible:ring-border',
34
+ };
35
+ return cn(variantStyles[variant], ghostStyles);
22
36
  };
37
+ const disabledStyles = 'disabled:bg-background/60 disabled:border-border/60 disabled:text-foreground/40 disabled:hover:bg-background/60 aria-disabled:text-foreground/40 aria-disabled:hover:bg-transparent';
23
38
  // 尺寸样式
24
39
  const sizeStyles = {
25
40
  sm: 'h-8 px-3 text-sm',
26
41
  md: 'h-10 px-4 text-sm',
27
42
  lg: 'h-12 px-6 text-base',
28
43
  };
44
+ const spinnerSize = {
45
+ sm: 'h-3 w-3',
46
+ md: 'h-4 w-4',
47
+ lg: 'h-5 w-5',
48
+ };
49
+ const loadingIcon = loading ? (_jsx("span", { className: cn('flex items-center', children && 'mr-2'), children: _jsxs("svg", { className: cn('animate-spin', spinnerSize[size]), xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", children: [_jsx("circle", { className: "opacity-25", cx: "12", cy: "12", r: "10", stroke: "currentColor", strokeWidth: "4" }), _jsx("path", { className: "opacity-75", fill: "currentColor", d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z" })] }) }, "loading")) : null;
29
50
  // 展示内容
30
51
  const contents = [
31
- leftIcon && (_jsx("span", { className: cn('flex items-center', 'mr-2'), children: leftIcon }, "left")),
52
+ loadingIcon,
53
+ !loading && leftIcon && (_jsx("span", { className: cn('flex items-center', 'mr-2'), children: leftIcon }, "left")),
32
54
  children,
33
55
  rightIcon ? (_jsx("span", { className: cn('flex items-center', 'ml-2'), children: rightIcon }, "right")) : undefined,
34
56
  ].filter(Boolean);
35
- return (_jsx("button", { ref: ref, className: cn(baseStyles, variantStyles[variant], disabledStyles[variant],
36
- // link 模式不固定高度/内边距,更接近普通文字
37
- variant === 'link' ? 'h-auto px-0 py-0 text-sm font-normal' : sizeStyles[size], variant === 'link' ? '' : 'before:content-normal',
38
- // link 模式下,根据 noUnderline 控制下划线
39
- variant === 'link' && !noUnderline && 'hover:underline', variant === 'link' && !noUnderline && 'disabled:hover:no-underline', isDisabled && 'cursor-not-allowed', className), disabled: isDisabled, ...props, children: contents }));
57
+ const buttonClassName = cn('tc-ui-button', baseStyles, getVariantStyles(), disabledStyles, ['text', 'link'].includes(variant) ? 'h-auto px-0 py-0 text-sm font-normal' : sizeStyles[size], ['text', 'link'].includes(variant) ? '' : 'before:content-normal', variant === 'link' && !noUnderline && 'hover:underline', variant === 'link' && !noUnderline && 'aria-disabled:hover:no-underline', disabled && !loading && 'cursor-not-allowed', loading && 'cursor-wait', className);
58
+ if (props.variant === 'link') {
59
+ const { className: _className, variant: _variant, size: _size, state: _state, disabled: _disabled, loading: _loading, leftIcon: _leftIcon, rightIcon: _rightIcon, noUnderline: _noUnderline, children: _children, onClick, tabIndex, ...anchorProps } = props;
60
+ return (_jsx("a", { ref: ref, className: buttonClassName, "aria-disabled": isDisabled || undefined, tabIndex: isDisabled ? -1 : tabIndex, onClick: (event) => {
61
+ if (isDisabled) {
62
+ event.preventDefault();
63
+ return;
64
+ }
65
+ onClick?.(event);
66
+ }, ...anchorProps, children: contents }));
67
+ }
68
+ const { className: _className, variant: _variant, size: _size, state: _state, disabled: _disabled, loading: _loading, leftIcon: _leftIcon, rightIcon: _rightIcon, noUnderline: _noUnderline, children: _children, ...buttonProps } = props;
69
+ return (_jsx("button", { ref: ref, className: buttonClassName, disabled: isDisabled, ...buttonProps, children: contents }));
40
70
  });
41
71
  Button.displayName = 'Button';
42
72
  export { Button };
@@ -1,6 +1,6 @@
1
1
  import type { MOmit } from '../../types';
2
- import { type ButtonProps } from './Button';
3
- export type SumbitButtonProps = MOmit<ButtonProps, 'onClick'> & {
2
+ import { type ButtonElementProps } from './Button';
3
+ export type SumbitButtonProps = MOmit<ButtonElementProps, 'onClick'> & {
4
4
  onClick?: (e: React.MouseEvent<HTMLButtonElement, MouseEvent>) => Promise<void | boolean> | void;
5
5
  };
6
6
  /**
@@ -1,4 +1,4 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { cn } from '../../lib/utils';
3
3
  import { useState } from 'react';
4
4
  import { Button } from './Button';
@@ -7,16 +7,9 @@ import { Button } from './Button';
7
7
  * 会自动添加loading 其余同button一致
8
8
  */
9
9
  const SumbitButton = (props) => {
10
- const { onClick, leftIcon, size = 'md', ...bprops } = props;
10
+ const { onClick, className, loading: loadingProp, ...bprops } = props;
11
11
  const [loading, uLoading] = useState(false);
12
- // Loading spinner icon - 根据按钮尺寸调整大小
13
- const spinnerSize = {
14
- sm: 'h-3 w-3',
15
- md: 'h-4 w-4',
16
- lg: 'h-5 w-5',
17
- };
18
- const loadingIcon = loading ? (_jsx("span", { className: cn('flex items-center', 'mr-2'), children: _jsxs("svg", { className: cn('animate-spin', spinnerSize[size]), xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", children: [_jsx("circle", { className: "opacity-25", cx: "12", cy: "12", r: "10", stroke: "currentColor", strokeWidth: "4" }), _jsx("path", { className: "opacity-75", fill: "currentColor", d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z" })] }) })) : null;
19
- return (_jsx(Button, { loading: loading, leftIcon: loading ? loadingIcon : leftIcon, onClick: async (e) => {
12
+ return (_jsx(Button, { className: cn('tc-ui-submit-button', className), loading: loading || loadingProp, onClick: async (e) => {
20
13
  if (loading)
21
14
  return;
22
15
  uLoading(true);
@@ -1,4 +1,4 @@
1
1
  export { Button } from './Button';
2
- export type { ButtonProps, ButtonSize, ButtonVariant } from './Button';
2
+ export type { ButtonElementProps, ButtonLinkProps, ButtonProps, ButtonSize, ButtonState, ButtonVariant } from './Button';
3
3
  export * from './SumbitButton';
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -6,7 +6,7 @@ export type CheckboxProps = Omit<InputHTMLAttributes<HTMLInputElement>, 'onChang
6
6
  onChange?: (checked: boolean, e: ChangeEvent<HTMLInputElement>) => void;
7
7
  value?: boolean;
8
8
  };
9
- declare const Checkbox: import("react").ForwardRefExoticComponent<Omit<InputHTMLAttributes<HTMLInputElement>, "onChange" | "value"> & {
9
+ declare const Checkbox: import("react").ForwardRefExoticComponent<Omit<InputHTMLAttributes<HTMLInputElement>, "value" | "onChange"> & {
10
10
  checked?: boolean;
11
11
  defaultChecked?: boolean;
12
12
  indeterminate?: boolean;
@@ -1,7 +1,8 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { cn } from '../../lib/utils';
3
+ import { Check, Minus } from 'lucide-react';
3
4
  import { forwardRef, useLayoutEffect, useRef, useState } from 'react';
4
- const Checkbox = forwardRef(({ className, checked: _controlledChecked, value, defaultChecked, indeterminate, onChange, ...props }, ref) => {
5
+ const Checkbox = forwardRef(({ className, checked: _controlledChecked, value, defaultChecked, indeterminate, onChange, disabled, ...props }, ref) => {
5
6
  const internalRef = useRef(null);
6
7
  const controlledChecked = value ?? _controlledChecked;
7
8
  const setRefs = (element) => {
@@ -24,6 +25,7 @@ const Checkbox = forwardRef(({ className, checked: _controlledChecked, value, de
24
25
  const isControlled = controlledChecked !== undefined;
25
26
  const [internalChecked, setInternalChecked] = useState(defaultChecked ?? false);
26
27
  const checked = isControlled ? controlledChecked : internalChecked;
28
+ const showChecked = checked && !indeterminate;
27
29
  const handleChange = (e) => {
28
30
  const newChecked = e.target.checked;
29
31
  if (!isControlled) {
@@ -31,7 +33,7 @@ const Checkbox = forwardRef(({ className, checked: _controlledChecked, value, de
31
33
  }
32
34
  onChange?.(newChecked, e);
33
35
  };
34
- return (_jsx("input", { type: "checkbox", ref: setRefs, checked: checked, onChange: handleChange, className: cn('w-4 h-4 rounded border-gray-300 accent-theme', className), ...props }));
36
+ return (_jsxs("span", { className: cn('tc-ui-checkbox relative inline-flex h-4 w-4 shrink-0', className), children: [_jsx("input", { type: "checkbox", ref: setRefs, checked: checked, disabled: disabled, onChange: handleChange, className: cn('peer absolute inset-0 z-10 m-0 h-full w-full appearance-none rounded opacity-0', disabled ? 'cursor-not-allowed' : 'cursor-pointer'), ...props }), _jsxs("span", { "aria-hidden": "true", className: cn('pointer-events-none flex h-full w-full items-center justify-center rounded border transition-colors peer-focus-visible:ring-2 peer-focus-visible:ring-ring peer-focus-visible:ring-offset-2 peer-focus-visible:ring-offset-background', (showChecked || indeterminate) && 'border-theme bg-theme text-theme-foreground', !showChecked && !indeterminate && 'border-border bg-background text-theme', disabled && 'opacity-60'), children: [showChecked && _jsx(Check, { className: "h-3 w-3", strokeWidth: 3 }), indeterminate && _jsx(Minus, { className: "h-3 w-3", strokeWidth: 3 })] })] }));
35
37
  });
36
38
  Checkbox.displayName = 'Checkbox';
37
39
  export { Checkbox };
@@ -0,0 +1,11 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useI18n } from '../../i18n';
3
+ import { Button } from '../Button';
4
+ import { Modal } from '../Modal';
5
+ export function ConfirmDialog({ open, title, content, okText, cancelText, loading = false, onOk, onCancel, }) {
6
+ const t = useI18n();
7
+ const handleOk = async () => {
8
+ await onOk();
9
+ };
10
+ return (_jsx(Modal, { open: open, onClose: onCancel, title: title ?? t('components.confirmDialog.title'), width: 450, className: "tc-ui-confirm-dialog", footer: _jsxs("div", { className: "flex justify-end gap-3", children: [_jsx(Button, { onClick: onCancel, className: "min-w-[100px] bg-background border-[hsl(var(--theme-primary))] text-[hsl(var(--theme-primary))] hover:bg-[hsl(var(--theme-primary))]/5", children: cancelText ?? t('components.confirmDialog.cancelText') }), _jsx(Button, { variant: "primary", loading: loading, onClick: handleOk, className: "min-w-[100px] bg-[hsl(var(--theme-primary))] hover:bg-[hsl(var(--theme-primary))]/90 border-[hsl(var(--theme-primary))] text-[hsl(var(--theme-primary-foreground))]", children: okText ?? t('components.confirmDialog.okText') })] }), children: _jsx("div", { className: "py-4 text-base text-foreground", children: content }) }));
11
+ }
@@ -0,0 +1,2 @@
1
+ export * from './ConfirmDialog';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ export * from './ConfirmDialog';
@@ -1,6 +1,8 @@
1
1
  import { type DropdownItem } from '../Dropdown';
2
+ export type ActionOverflow = 'auto' | 'dropdown' | 'inline';
2
3
  export interface ActionBtnProps {
3
4
  actions: DropdownItem[];
5
+ overflow?: ActionOverflow;
4
6
  }
5
- export declare const ActionBtn: ({ actions }: ActionBtnProps) => "-" | import("react/jsx-runtime").JSX.Element;
7
+ export declare const ActionBtn: ({ actions, overflow }: ActionBtnProps) => import("react/jsx-runtime").JSX.Element | "-";
6
8
  //# sourceMappingURL=ActionBtn.d.ts.map