sa2kit 3.1.0 → 3.2.0

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 (712) hide show
  1. package/README.md +5 -5
  2. package/dist/AliyunOSSProvider-7IOT5U6M.js +15 -0
  3. package/dist/{AliyunOSSProvider-4GRL2FJB.js.map → AliyunOSSProvider-7IOT5U6M.js.map} +1 -1
  4. package/dist/AliyunOSSProvider-ZXZM7OQA.mjs +6 -0
  5. package/dist/{AliyunOSSProvider-QNVFIZ7Q.mjs.map → AliyunOSSProvider-ZXZM7OQA.mjs.map} +1 -1
  6. package/dist/LocalStorageProvider-KJKRCKBS.js +15 -0
  7. package/dist/{LocalStorageProvider-PFA2DMIJ.js.map → LocalStorageProvider-KJKRCKBS.js.map} +1 -1
  8. package/dist/LocalStorageProvider-O22465NY.mjs +6 -0
  9. package/dist/{LocalStorageProvider-J5RHV37G.mjs.map → LocalStorageProvider-O22465NY.mjs.map} +1 -1
  10. package/dist/{chunk-SLKOEYFH.js → chunk-2234T4A6.js} +5 -5
  11. package/dist/chunk-2234T4A6.js.map +1 -0
  12. package/dist/{chunk-HQLKOXG7.js → chunk-36KGNXKW.js} +3 -3
  13. package/dist/{chunk-HQLKOXG7.js.map → chunk-36KGNXKW.js.map} +1 -1
  14. package/dist/{chunk-BCE6RUZV.js → chunk-375C7WL7.js} +19 -19
  15. package/dist/chunk-375C7WL7.js.map +1 -0
  16. package/dist/{chunk-VMTEDX5H.js → chunk-3J24Z4MB.js} +34 -318
  17. package/dist/chunk-3J24Z4MB.js.map +1 -0
  18. package/dist/{chunk-PBI7FKMB.js → chunk-3QCATFQV.js} +3 -3
  19. package/dist/chunk-3QCATFQV.js.map +1 -0
  20. package/dist/{chunk-FXQOXLDE.js → chunk-3R6JHA6D.js} +4 -4
  21. package/dist/chunk-3R6JHA6D.js.map +1 -0
  22. package/dist/{chunk-ZRAW3HXA.js → chunk-4OXKHV7J.js} +3 -3
  23. package/dist/chunk-4OXKHV7J.js.map +1 -0
  24. package/dist/chunk-4PJM4752.js +4 -0
  25. package/dist/{chunk-5USIS3UM.js.map → chunk-4PJM4752.js.map} +1 -1
  26. package/dist/{chunk-3Z43XGA4.mjs → chunk-65JRVC3F.mjs} +4 -4
  27. package/dist/{chunk-3Z43XGA4.mjs.map → chunk-65JRVC3F.mjs.map} +1 -1
  28. package/dist/{chunk-Q5EDCKQA.js → chunk-6HL54I2B.js} +16 -16
  29. package/dist/chunk-6HL54I2B.js.map +1 -0
  30. package/dist/chunk-6V2MIQPF.mjs +77 -0
  31. package/dist/chunk-6V2MIQPF.mjs.map +1 -0
  32. package/dist/{chunk-C6KV7VTZ.mjs → chunk-7CRU2Y5X.mjs} +5 -5
  33. package/dist/chunk-7CRU2Y5X.mjs.map +1 -0
  34. package/dist/chunk-7PMT4L4I.js +324 -0
  35. package/dist/chunk-7PMT4L4I.js.map +1 -0
  36. package/dist/{chunk-XJ7ZAGC5.js → chunk-7VVZHFEM.js} +3 -3
  37. package/dist/chunk-7VVZHFEM.js.map +1 -0
  38. package/dist/chunk-AWHGIKTQ.js +56 -0
  39. package/dist/{chunk-FHLTPXAR.js.map → chunk-AWHGIKTQ.js.map} +1 -1
  40. package/dist/chunk-B3GYF6TY.js +37 -0
  41. package/dist/{chunk-2Y7BKFKZ.js.map → chunk-B3GYF6TY.js.map} +1 -1
  42. package/dist/{chunk-5FUAQLGC.mjs → chunk-BDBJFOXM.mjs} +3 -3
  43. package/dist/{chunk-5FUAQLGC.mjs.map → chunk-BDBJFOXM.mjs.map} +1 -1
  44. package/dist/{chunk-ZGVB35L2.mjs → chunk-BTW3SWQN.mjs} +3 -3
  45. package/dist/chunk-BTW3SWQN.mjs.map +1 -0
  46. package/dist/{chunk-I5ZPEDNR.mjs → chunk-CHYSSZ4E.mjs} +10 -10
  47. package/dist/chunk-CHYSSZ4E.mjs.map +1 -0
  48. package/dist/{chunk-FIUBFREP.mjs → chunk-DO6QYAZV.mjs} +5 -5
  49. package/dist/chunk-DO6QYAZV.mjs.map +1 -0
  50. package/dist/{chunk-MBANGIG3.mjs → chunk-DTR53LQO.mjs} +6 -6
  51. package/dist/chunk-DTR53LQO.mjs.map +1 -0
  52. package/dist/{chunk-EQXPL7TN.mjs → chunk-EI2S4XDG.mjs} +16 -5
  53. package/dist/chunk-EI2S4XDG.mjs.map +1 -0
  54. package/dist/{chunk-GSNGCENJ.js → chunk-EOZHUI46.js} +16 -4
  55. package/dist/chunk-EOZHUI46.js.map +1 -0
  56. package/dist/{chunk-25OFOKNF.js → chunk-F2BZIU67.js} +18 -5
  57. package/dist/chunk-F2BZIU67.js.map +1 -0
  58. package/dist/{chunk-AQPU2AXH.js → chunk-F2TEJSCP.js} +10 -10
  59. package/dist/chunk-F2TEJSCP.js.map +1 -0
  60. package/dist/{chunk-UCOE6SET.js → chunk-FCLS5R24.js} +3 -3
  61. package/dist/chunk-FCLS5R24.js.map +1 -0
  62. package/dist/{chunk-3NHAT7D4.mjs → chunk-FUA6ZGMI.mjs} +27 -12
  63. package/dist/chunk-FUA6ZGMI.mjs.map +1 -0
  64. package/dist/chunk-FY2X3LYR.mjs +3 -0
  65. package/dist/{chunk-VRN76M56.mjs.map → chunk-FY2X3LYR.mjs.map} +1 -1
  66. package/dist/{chunk-V7EVKD5G.mjs → chunk-GS4SAW25.mjs} +4 -4
  67. package/dist/chunk-GS4SAW25.mjs.map +1 -0
  68. package/dist/chunk-H56ICWUO.js +321 -0
  69. package/dist/chunk-H56ICWUO.js.map +1 -0
  70. package/dist/{chunk-HDMIOOZY.mjs → chunk-HG34SGMN.mjs} +4 -4
  71. package/dist/chunk-HG34SGMN.mjs.map +1 -0
  72. package/dist/chunk-HL4H2HF6.js +279 -0
  73. package/dist/chunk-HL4H2HF6.js.map +1 -0
  74. package/dist/chunk-IJIQUMAK.mjs +272 -0
  75. package/dist/chunk-IJIQUMAK.mjs.map +1 -0
  76. package/dist/{imageCrop/index.mjs → chunk-KEZFTDZT.mjs} +24 -6
  77. package/dist/chunk-KEZFTDZT.mjs.map +1 -0
  78. package/dist/{chunk-KQ643L7Z.js → chunk-KHOVC2KL.js} +3 -3
  79. package/dist/chunk-KHOVC2KL.js.map +1 -0
  80. package/dist/{chunk-6PMXAK7F.js → chunk-KRBSTLKC.js} +57 -57
  81. package/dist/chunk-KRBSTLKC.js.map +1 -0
  82. package/dist/chunk-KVYHCGRY.js +2011 -0
  83. package/dist/chunk-KVYHCGRY.js.map +1 -0
  84. package/dist/{chunk-G7UBMCUT.mjs → chunk-LZ5YTMMP.mjs} +3 -3
  85. package/dist/chunk-LZ5YTMMP.mjs.map +1 -0
  86. package/dist/{chunk-WW4GE6CZ.js → chunk-MJ6XJGAL.js} +23 -119
  87. package/dist/chunk-MJ6XJGAL.js.map +1 -0
  88. package/dist/{chunk-NCRP2YHY.mjs → chunk-MKLXCV4Z.mjs} +8 -96
  89. package/dist/chunk-MKLXCV4Z.mjs.map +1 -0
  90. package/dist/chunk-MMDSZIXD.mjs +286 -0
  91. package/dist/chunk-MMDSZIXD.mjs.map +1 -0
  92. package/dist/{chunk-TC5YU6A4.mjs → chunk-N2O3OX5Y.mjs} +3 -3
  93. package/dist/chunk-N2O3OX5Y.mjs.map +1 -0
  94. package/dist/{chunk-3FRAIS4T.mjs → chunk-O6NNSPWD.mjs} +5 -5
  95. package/dist/{chunk-3FRAIS4T.mjs.map → chunk-O6NNSPWD.mjs.map} +1 -1
  96. package/dist/chunk-OIRZXSYM.js +80 -0
  97. package/dist/chunk-OIRZXSYM.js.map +1 -0
  98. package/dist/{chunk-Q5VFBPMG.mjs → chunk-P7JQRNBJ.mjs} +3 -3
  99. package/dist/chunk-P7JQRNBJ.mjs.map +1 -0
  100. package/dist/{chunk-BIHYZA67.mjs → chunk-PLIG5257.mjs} +18 -18
  101. package/dist/chunk-PLIG5257.mjs.map +1 -0
  102. package/dist/chunk-QIF4MG5V.mjs +283 -0
  103. package/dist/chunk-QIF4MG5V.mjs.map +1 -0
  104. package/dist/{chunk-4OOANEJV.mjs → chunk-RHECN4E2.mjs} +21 -21
  105. package/dist/chunk-RHECN4E2.mjs.map +1 -0
  106. package/dist/{chunk-YOTQG4NP.mjs → chunk-RHHTZTIN.mjs} +4 -4
  107. package/dist/chunk-RHHTZTIN.mjs.map +1 -0
  108. package/dist/{chunk-G6NSKJMH.js → chunk-RRQ2X26Z.js} +4 -4
  109. package/dist/chunk-RRQ2X26Z.js.map +1 -0
  110. package/dist/{chunk-4WBCWJSN.js → chunk-RST2T54Y.js} +7 -7
  111. package/dist/chunk-RST2T54Y.js.map +1 -0
  112. package/dist/{chunk-R2DXTE2L.js → chunk-RVNQI6BI.js} +4 -4
  113. package/dist/chunk-RVNQI6BI.js.map +1 -0
  114. package/dist/{chunk-SKFEJPMJ.mjs → chunk-S3K4LTRI.mjs} +6 -6
  115. package/dist/chunk-S3K4LTRI.mjs.map +1 -0
  116. package/dist/{chunk-ZM2SZJTZ.js → chunk-SWZ5XNF6.js} +9 -9
  117. package/dist/chunk-SWZ5XNF6.js.map +1 -0
  118. package/dist/{chunk-QSKLQX6H.js → chunk-U7HNBCBS.js} +16 -16
  119. package/dist/chunk-U7HNBCBS.js.map +1 -0
  120. package/dist/{chunk-CIVO4R6N.mjs → chunk-UJS3YSD3.mjs} +3 -3
  121. package/dist/chunk-UJS3YSD3.mjs.map +1 -0
  122. package/dist/{chunk-G6HXNQ2U.mjs → chunk-UJUWDF7M.mjs} +8 -8
  123. package/dist/chunk-UJUWDF7M.mjs.map +1 -0
  124. package/dist/{chunk-CAYOQDBR.js → chunk-UR5NENGE.js} +3 -3
  125. package/dist/chunk-UR5NENGE.js.map +1 -0
  126. package/dist/{chunk-QXAOXBVB.mjs → chunk-V7HGBDCB.mjs} +3 -3
  127. package/dist/chunk-V7HGBDCB.mjs.map +1 -0
  128. package/dist/{chunk-ATUCZXJY.js → chunk-V7RLIZMN.js} +14 -4
  129. package/dist/chunk-V7RLIZMN.js.map +1 -0
  130. package/dist/{chunk-ACUFEDVQ.js → chunk-VCKXK6V5.js} +9 -9
  131. package/dist/chunk-VCKXK6V5.js.map +1 -0
  132. package/dist/{chunk-XUS5ACKR.mjs → chunk-VIEXDTNF.mjs} +3 -3
  133. package/dist/chunk-VIEXDTNF.mjs.map +1 -0
  134. package/dist/{imageCrop/index.js → chunk-VN2DULIA.js} +24 -5
  135. package/dist/chunk-VN2DULIA.js.map +1 -0
  136. package/dist/{chunk-S6YSGVWD.js → chunk-VNWMRUY6.js} +31 -87
  137. package/dist/chunk-VNWMRUY6.js.map +1 -0
  138. package/dist/{chunk-3DXPQ4YV.mjs → chunk-VYK4M2D6.mjs} +18 -6
  139. package/dist/chunk-VYK4M2D6.mjs.map +1 -0
  140. package/dist/{chunk-WEEXCPSE.mjs → chunk-WB4H6ZUW.mjs} +3 -3
  141. package/dist/chunk-WB4H6ZUW.mjs.map +1 -0
  142. package/dist/{chunk-GWNBVGDT.mjs → chunk-WM3AEJ2E.mjs} +6 -257
  143. package/dist/chunk-WM3AEJ2E.mjs.map +1 -0
  144. package/dist/{chunk-CX2GHCAI.mjs → chunk-X5GINUGI.mjs} +26 -81
  145. package/dist/chunk-X5GINUGI.mjs.map +1 -0
  146. package/dist/{chunk-DIF5VRL3.mjs → chunk-XB7GUEHZ.mjs} +14 -5
  147. package/dist/chunk-XB7GUEHZ.mjs.map +1 -0
  148. package/dist/{chunk-ZLYPALF3.js → chunk-XE5RGZ3B.js} +11 -11
  149. package/dist/chunk-XE5RGZ3B.js.map +1 -0
  150. package/dist/{chunk-WJ7IMUEJ.mjs → chunk-XNTIMVSL.mjs} +7 -7
  151. package/dist/chunk-XNTIMVSL.mjs.map +1 -0
  152. package/dist/{chunk-ZWQJSZEY.js → chunk-Y7WHUKJF.js} +28 -12
  153. package/dist/chunk-Y7WHUKJF.js.map +1 -0
  154. package/dist/{components/index.mjs → chunk-YIRPPMCN.mjs} +305 -785
  155. package/dist/chunk-YIRPPMCN.mjs.map +1 -0
  156. package/dist/{chunk-KH6RQ4J5.js → chunk-Z2SNB5LJ.js} +3 -3
  157. package/dist/chunk-Z2SNB5LJ.js.map +1 -0
  158. package/dist/{chunk-HJ6MH7J7.js → chunk-ZOP7YIVX.js} +17 -17
  159. package/dist/chunk-ZOP7YIVX.js.map +1 -0
  160. package/dist/{chunk-HJZHQW5R.mjs → chunk-ZUZLWHH5.mjs} +3 -3
  161. package/dist/chunk-ZUZLWHH5.mjs.map +1 -0
  162. package/dist/{ai → common/ai}/llm/core/index.d.mts +3 -3
  163. package/dist/{ai → common/ai}/llm/core/index.d.ts +3 -3
  164. package/dist/{ai/llm → common/ai/llm/core}/index.js +14 -14
  165. package/dist/{ai/llm → common/ai/llm/core}/index.mjs +3 -3
  166. package/dist/{ai → common/ai}/llm/electron/index.d.mts +3 -3
  167. package/dist/{ai/llm/web → common/ai/llm/electron}/index.d.ts +3 -3
  168. package/dist/common/ai/llm/electron/index.js +67 -0
  169. package/dist/common/ai/llm/electron/index.mjs +10 -0
  170. package/dist/{ai → common/ai}/llm/index.d.mts +2 -2
  171. package/dist/{ai → common/ai}/llm/index.d.ts +2 -2
  172. package/dist/{ai/llm/core → common/ai/llm}/index.js +13 -13
  173. package/dist/{ai/llm/core → common/ai/llm}/index.mjs +2 -2
  174. package/dist/{ai → common/ai}/llm/miniapp/index.d.mts +3 -3
  175. package/dist/{ai → common/ai}/llm/miniapp/index.d.ts +3 -3
  176. package/dist/{ai/llm/rn → common/ai/llm/miniapp}/index.js +16 -16
  177. package/dist/{ai/llm/rn → common/ai/llm/miniapp}/index.mjs +4 -4
  178. package/dist/{ai → common/ai}/llm/rn/index.d.mts +3 -3
  179. package/dist/{ai → common/ai}/llm/rn/index.d.ts +3 -3
  180. package/dist/{ai/llm/miniapp → common/ai/llm/rn}/index.js +16 -16
  181. package/dist/{ai/llm/miniapp → common/ai/llm/rn}/index.mjs +4 -4
  182. package/dist/common/ai/llm/ui/electron/index.d.mts +5 -0
  183. package/dist/common/ai/llm/ui/electron/index.d.ts +5 -0
  184. package/dist/common/ai/llm/ui/electron/index.js +22 -0
  185. package/dist/common/ai/llm/ui/electron/index.mjs +9 -0
  186. package/dist/common/ai/llm/ui/miniapp/index.d.mts +9 -0
  187. package/dist/common/ai/llm/ui/miniapp/index.d.ts +9 -0
  188. package/dist/common/ai/llm/ui/miniapp/index.js +14 -0
  189. package/dist/common/ai/llm/ui/miniapp/index.mjs +5 -0
  190. package/dist/common/ai/llm/ui/rn/index.d.mts +9 -0
  191. package/dist/common/ai/llm/ui/rn/index.d.ts +9 -0
  192. package/dist/common/ai/llm/ui/rn/index.js +14 -0
  193. package/dist/common/ai/llm/ui/rn/index.mjs +5 -0
  194. package/dist/{ai → common/ai}/llm/ui/web/index.d.mts +7 -7
  195. package/dist/{ai → common/ai}/llm/ui/web/index.d.ts +7 -7
  196. package/dist/common/ai/llm/ui/web/index.js +21 -0
  197. package/dist/common/ai/llm/ui/web/index.mjs +8 -0
  198. package/dist/{ai → common/ai}/llm/web/index.d.mts +3 -3
  199. package/dist/{ai/llm/electron → common/ai/llm/web}/index.d.ts +3 -3
  200. package/dist/common/ai/llm/web/index.js +66 -0
  201. package/dist/common/ai/llm/web/index.mjs +9 -0
  202. package/dist/{analytics → common/analytics}/index.d.mts +1 -1
  203. package/dist/{analytics → common/analytics}/index.d.ts +1 -1
  204. package/dist/{analytics → common/analytics}/index.js +79 -79
  205. package/dist/{analytics → common/analytics}/index.mjs +3 -3
  206. package/dist/{analytics → common/analytics}/server/index.js +2 -2
  207. package/dist/common/analytics/server/index.js.map +1 -0
  208. package/dist/{analytics → common/analytics}/server/index.mjs +2 -2
  209. package/dist/common/analytics/server/index.mjs.map +1 -0
  210. package/dist/{api → common/api}/index.d.mts +3 -3
  211. package/dist/{api → common/api}/index.d.ts +3 -3
  212. package/dist/common/api/index.js +21 -0
  213. package/dist/common/api/index.mjs +4 -0
  214. package/dist/common/auth/components/index.d.mts +9 -9
  215. package/dist/common/auth/components/index.d.ts +9 -9
  216. package/dist/common/auth/index.js +6 -6
  217. package/dist/common/auth/index.mjs +2 -2
  218. package/dist/common/auth/react/index.d.mts +3 -3
  219. package/dist/common/auth/react/index.d.ts +3 -3
  220. package/dist/common/auth/rn/index.d.mts +2 -2
  221. package/dist/common/auth/rn/index.d.ts +2 -2
  222. package/dist/common/auth/rn/index.js +2 -2
  223. package/dist/common/auth/rn/index.js.map +1 -1
  224. package/dist/common/auth/rn/index.mjs +1 -1
  225. package/dist/common/auth/rn/index.mjs.map +1 -1
  226. package/dist/common/components/index.d.mts +4 -0
  227. package/dist/common/components/index.d.ts +4 -0
  228. package/dist/common/components/index.js +414 -0
  229. package/dist/common/components/index.mjs +9 -0
  230. package/dist/{config → common/config}/index.d.mts +1 -1
  231. package/dist/{config → common/config}/index.d.ts +1 -1
  232. package/dist/common/config/index.js +21 -0
  233. package/dist/common/config/index.mjs +4 -0
  234. package/dist/{config → common/config}/server/index.js +5 -5
  235. package/dist/common/config/server/index.js.map +1 -0
  236. package/dist/{config → common/config}/server/index.mjs +5 -5
  237. package/dist/common/config/server/index.mjs.map +1 -0
  238. package/dist/common/export/index.d.mts +2 -2
  239. package/dist/common/export/index.d.ts +2 -2
  240. package/dist/common/export/index.js +67 -67
  241. package/dist/common/export/index.mjs +3 -3
  242. package/dist/common/export/server/index.d.mts +2 -2
  243. package/dist/common/export/server/index.d.ts +2 -2
  244. package/dist/common/export/server/index.js +76 -48
  245. package/dist/common/export/server/index.mjs +3 -3
  246. package/dist/common/file/index.d.mts +2 -2
  247. package/dist/common/file/index.d.ts +2 -2
  248. package/dist/common/file/index.js +27 -27
  249. package/dist/common/file/index.mjs +5 -5
  250. package/dist/common/file/server/index.d.mts +2 -2
  251. package/dist/common/file/server/index.d.ts +2 -2
  252. package/dist/common/file/server/index.js +58 -50
  253. package/dist/common/file/server/index.mjs +8 -8
  254. package/dist/{i18n → common/i18n}/index.d.mts +1 -1
  255. package/dist/{i18n → common/i18n}/index.d.ts +1 -1
  256. package/dist/{i18n → common/i18n}/index.js +18 -18
  257. package/dist/{i18n → common/i18n}/index.mjs +2 -2
  258. package/dist/common/imageCrop/index.d.mts +2 -0
  259. package/dist/common/imageCrop/index.d.ts +2 -0
  260. package/dist/common/imageCrop/index.js +61 -0
  261. package/dist/common/imageCrop/index.mjs +4 -0
  262. package/dist/common/index.d.mts +16 -16
  263. package/dist/common/index.d.ts +16 -16
  264. package/dist/common/index.js +75 -67
  265. package/dist/common/index.mjs +26 -26
  266. package/dist/common/logger/index.d.mts +1 -1
  267. package/dist/common/logger/index.d.ts +1 -1
  268. package/dist/common/logger/index.js +6 -7
  269. package/dist/common/logger/index.mjs +1 -2
  270. package/dist/{ossFile → common/ossFile}/index.d.mts +6 -6
  271. package/dist/{ossFile → common/ossFile}/index.d.ts +6 -6
  272. package/dist/{ossFile → common/ossFile}/index.js +26 -26
  273. package/dist/{ossFile → common/ossFile}/index.mjs +5 -5
  274. package/dist/{ossFile/server/index.d.ts → common/ossFile/server/index.d.mts} +7 -7
  275. package/dist/{ossFile/server/index.d.mts → common/ossFile/server/index.d.ts} +7 -7
  276. package/dist/{ossFile → common/ossFile}/server/index.js +60 -52
  277. package/dist/{ossFile → common/ossFile}/server/index.mjs +10 -10
  278. package/dist/common/platform/index.js +8 -8
  279. package/dist/common/platform/index.mjs +4 -4
  280. package/dist/common/request/index.d.mts +1 -1
  281. package/dist/common/request/index.d.ts +1 -1
  282. package/dist/common/request/index.js +5 -6
  283. package/dist/common/request/index.mjs +2 -3
  284. package/dist/common/storage/index.d.mts +1 -1
  285. package/dist/common/storage/index.d.ts +1 -1
  286. package/dist/common/storage/index.js +17 -17
  287. package/dist/common/storage/index.mjs +5 -5
  288. package/dist/{universalExport → common/universalExport}/index.d.mts +6 -86
  289. package/dist/{universalExport → common/universalExport}/index.d.ts +6 -86
  290. package/dist/{universalExport → common/universalExport}/index.js +67 -67
  291. package/dist/common/universalExport/index.mjs +5 -0
  292. package/dist/{universalExport → common/universalExport}/server/index.d.mts +3 -84
  293. package/dist/{universalExport → common/universalExport}/server/index.d.ts +3 -84
  294. package/dist/common/universalExport/server/index.js +151 -0
  295. package/dist/common/universalExport/server/index.mjs +6 -0
  296. package/dist/{universalFile/index.d.ts → common/universalFile/index.d.mts} +9 -9
  297. package/dist/{universalFile/index.d.mts → common/universalFile/index.d.ts} +9 -9
  298. package/dist/{universalFile → common/universalFile}/index.js +63 -63
  299. package/dist/common/universalFile/index.js.map +1 -0
  300. package/dist/{universalFile → common/universalFile}/index.mjs +4 -4
  301. package/dist/common/universalFile/index.mjs.map +1 -0
  302. package/dist/{universalFile → common/universalFile}/server/index.d.mts +5 -5
  303. package/dist/{universalFile → common/universalFile}/server/index.d.ts +5 -5
  304. package/dist/{universalFile → common/universalFile}/server/index.js +68 -68
  305. package/dist/{universalFile → common/universalFile}/server/index.mjs +8 -8
  306. package/dist/common/utils/index.d.mts +1 -1
  307. package/dist/common/utils/index.d.ts +1 -1
  308. package/dist/common/utils/index.js +11 -12
  309. package/dist/common/utils/index.mjs +2 -3
  310. package/dist/{index-WrR57hKT.d.ts → index-BRLygK4h.d.ts} +2 -2
  311. package/dist/{request/index.d.mts → index-BWNK5mH2.d.ts} +19 -2
  312. package/dist/{utils/index.d.mts → index-BiCK6gg6.d.mts} +19 -1
  313. package/dist/{utils/index.d.ts → index-BiCK6gg6.d.ts} +19 -1
  314. package/dist/{index-DoUo8IrU.d.mts → index-BxZauNN_.d.mts} +8 -8
  315. package/dist/{index-DoUo8IrU.d.ts → index-BxZauNN_.d.ts} +8 -8
  316. package/dist/{request/index.d.ts → index-C-P2yBTH.d.mts} +19 -2
  317. package/dist/{index-D0cqaQEH.d.mts → index-CLB80GCP.d.mts} +5 -5
  318. package/dist/{index-D0cqaQEH.d.ts → index-CLB80GCP.d.ts} +5 -5
  319. package/dist/{index-2G9Dxjvt.d.ts → index-CT4K2z-O.d.ts} +2 -2
  320. package/dist/{index-qcOvRVuN.d.mts → index-D6RJTGce.d.mts} +2 -2
  321. package/dist/{storage/index.d.ts → index-DA7L9JlE.d.mts} +26 -3
  322. package/dist/{imageCrop/index.d.mts → index-DXVph21C.d.mts} +40 -4
  323. package/dist/{imageCrop/index.d.ts → index-DXVph21C.d.ts} +40 -4
  324. package/dist/{index-CYuUB8aF.d.mts → index-DzyK789B.d.mts} +2 -2
  325. package/dist/{logger/index.d.mts → index-FVJZCEtm.d.mts} +21 -1
  326. package/dist/{logger/index.d.ts → index-FVJZCEtm.d.ts} +21 -1
  327. package/dist/{storage/index.d.mts → index-nD9vPCZT.d.ts} +26 -3
  328. package/dist/{components/index.d.mts → index-nOmIv2BG.d.mts} +159 -5
  329. package/dist/{components/index.d.ts → index-nOmIv2BG.d.ts} +159 -5
  330. package/dist/{path-qjVnH8qU.d.ts → path-Bzc7hj1N.d.ts} +5 -1
  331. package/dist/{path-DkaHQSyW.d.mts → path-DN_65vhO.d.mts} +5 -1
  332. package/dist/{types-3ujSNAXb.d.mts → utils-Dm3O1rAa.d.mts} +81 -1
  333. package/dist/{types-3ujSNAXb.d.ts → utils-Dm3O1rAa.d.ts} +81 -1
  334. package/package.json +292 -312
  335. package/dist/AliyunOSSProvider-4GRL2FJB.js +0 -15
  336. package/dist/AliyunOSSProvider-QNVFIZ7Q.mjs +0 -6
  337. package/dist/CollisionBalls-BpHufX3H.d.mts +0 -41
  338. package/dist/CollisionBalls-BpHufX3H.d.ts +0 -41
  339. package/dist/ConfigService-BxK06xP6.d.mts +0 -262
  340. package/dist/ConfigService-BxK06xP6.d.ts +0 -262
  341. package/dist/LocalStorageProvider-J5RHV37G.mjs +0 -6
  342. package/dist/LocalStorageProvider-PFA2DMIJ.js +0 -15
  343. package/dist/UniversalFileService-CC4d3wkc.d.ts +0 -139
  344. package/dist/UniversalFileService-CzAE_G4V.d.mts +0 -139
  345. package/dist/ai/llm/electron/index.js +0 -66
  346. package/dist/ai/llm/electron/index.mjs +0 -9
  347. package/dist/ai/llm/ui/electron/index.d.mts +0 -5
  348. package/dist/ai/llm/ui/electron/index.d.ts +0 -5
  349. package/dist/ai/llm/ui/electron/index.js +0 -21
  350. package/dist/ai/llm/ui/electron/index.mjs +0 -8
  351. package/dist/ai/llm/ui/miniapp/index.d.mts +0 -9
  352. package/dist/ai/llm/ui/miniapp/index.d.ts +0 -9
  353. package/dist/ai/llm/ui/miniapp/index.js +0 -14
  354. package/dist/ai/llm/ui/miniapp/index.mjs +0 -5
  355. package/dist/ai/llm/ui/rn/index.d.mts +0 -9
  356. package/dist/ai/llm/ui/rn/index.d.ts +0 -9
  357. package/dist/ai/llm/ui/rn/index.js +0 -14
  358. package/dist/ai/llm/ui/rn/index.mjs +0 -5
  359. package/dist/ai/llm/ui/web/index.js +0 -20
  360. package/dist/ai/llm/ui/web/index.mjs +0 -7
  361. package/dist/ai/llm/web/index.js +0 -65
  362. package/dist/ai/llm/web/index.mjs +0 -8
  363. package/dist/analytics/server/index.js.map +0 -1
  364. package/dist/analytics/server/index.mjs.map +0 -1
  365. package/dist/api/index.js +0 -21
  366. package/dist/api/index.mjs +0 -4
  367. package/dist/audioDetection/index.d.mts +0 -449
  368. package/dist/audioDetection/index.d.ts +0 -449
  369. package/dist/audioDetection/index.js +0 -1244
  370. package/dist/audioDetection/index.js.map +0 -1
  371. package/dist/audioDetection/index.mjs +0 -1227
  372. package/dist/audioDetection/index.mjs.map +0 -1
  373. package/dist/boothVaultService-Cn4WPhjg.d.mts +0 -83
  374. package/dist/boothVaultService-Cn4WPhjg.d.ts +0 -83
  375. package/dist/business/index.d.mts +0 -2
  376. package/dist/business/index.d.ts +0 -2
  377. package/dist/business/index.js +0 -581
  378. package/dist/business/index.js.map +0 -1
  379. package/dist/business/index.mjs +0 -575
  380. package/dist/business/index.mjs.map +0 -1
  381. package/dist/calendar/index.d.mts +0 -1325
  382. package/dist/calendar/index.d.ts +0 -1325
  383. package/dist/calendar/index.js +0 -5964
  384. package/dist/calendar/index.js.map +0 -1
  385. package/dist/calendar/index.mjs +0 -5878
  386. package/dist/calendar/index.mjs.map +0 -1
  387. package/dist/calendar/routes/index.d.mts +0 -191
  388. package/dist/calendar/routes/index.d.ts +0 -191
  389. package/dist/calendar/routes/index.js +0 -844
  390. package/dist/calendar/routes/index.js.map +0 -1
  391. package/dist/calendar/routes/index.mjs +0 -826
  392. package/dist/calendar/routes/index.mjs.map +0 -1
  393. package/dist/chunk-25OFOKNF.js.map +0 -1
  394. package/dist/chunk-2Y7BKFKZ.js +0 -37
  395. package/dist/chunk-3CSCIRQY.js +0 -17
  396. package/dist/chunk-3CSCIRQY.js.map +0 -1
  397. package/dist/chunk-3DXPQ4YV.mjs.map +0 -1
  398. package/dist/chunk-3NHAT7D4.mjs.map +0 -1
  399. package/dist/chunk-4FDUURSD.js +0 -22
  400. package/dist/chunk-4FDUURSD.js.map +0 -1
  401. package/dist/chunk-4OOANEJV.mjs.map +0 -1
  402. package/dist/chunk-4WBCWJSN.js.map +0 -1
  403. package/dist/chunk-5GBDDXYL.mjs +0 -23
  404. package/dist/chunk-5GBDDXYL.mjs.map +0 -1
  405. package/dist/chunk-5USIS3UM.js +0 -4
  406. package/dist/chunk-6PMXAK7F.js.map +0 -1
  407. package/dist/chunk-7B5SI4OF.mjs +0 -15
  408. package/dist/chunk-7B5SI4OF.mjs.map +0 -1
  409. package/dist/chunk-ACUFEDVQ.js.map +0 -1
  410. package/dist/chunk-AQPU2AXH.js.map +0 -1
  411. package/dist/chunk-ATUCZXJY.js.map +0 -1
  412. package/dist/chunk-BCE6RUZV.js.map +0 -1
  413. package/dist/chunk-BIHYZA67.mjs.map +0 -1
  414. package/dist/chunk-C6KV7VTZ.mjs.map +0 -1
  415. package/dist/chunk-CAYOQDBR.js.map +0 -1
  416. package/dist/chunk-CIVO4R6N.mjs.map +0 -1
  417. package/dist/chunk-CX2GHCAI.mjs.map +0 -1
  418. package/dist/chunk-DIF5VRL3.mjs.map +0 -1
  419. package/dist/chunk-EQXPL7TN.mjs.map +0 -1
  420. package/dist/chunk-FCEBAWN6.js +0 -18
  421. package/dist/chunk-FCEBAWN6.js.map +0 -1
  422. package/dist/chunk-FHIE5MTC.mjs +0 -541
  423. package/dist/chunk-FHIE5MTC.mjs.map +0 -1
  424. package/dist/chunk-FHLTPXAR.js +0 -56
  425. package/dist/chunk-FIUBFREP.mjs.map +0 -1
  426. package/dist/chunk-FXQOXLDE.js.map +0 -1
  427. package/dist/chunk-G6HXNQ2U.mjs.map +0 -1
  428. package/dist/chunk-G6NSKJMH.js.map +0 -1
  429. package/dist/chunk-G7UBMCUT.mjs.map +0 -1
  430. package/dist/chunk-GSNGCENJ.js.map +0 -1
  431. package/dist/chunk-GWNBVGDT.mjs.map +0 -1
  432. package/dist/chunk-HDMIOOZY.mjs.map +0 -1
  433. package/dist/chunk-HJ6MH7J7.js.map +0 -1
  434. package/dist/chunk-HJZHQW5R.mjs.map +0 -1
  435. package/dist/chunk-I5ZPEDNR.mjs.map +0 -1
  436. package/dist/chunk-KH6RQ4J5.js.map +0 -1
  437. package/dist/chunk-KQ643L7Z.js.map +0 -1
  438. package/dist/chunk-LFB5EIIM.mjs +0 -31
  439. package/dist/chunk-LFB5EIIM.mjs.map +0 -1
  440. package/dist/chunk-MBANGIG3.mjs.map +0 -1
  441. package/dist/chunk-NCRP2YHY.mjs.map +0 -1
  442. package/dist/chunk-NDGHXVGS.js +0 -25
  443. package/dist/chunk-NDGHXVGS.js.map +0 -1
  444. package/dist/chunk-NDPO5OMC.js +0 -563
  445. package/dist/chunk-NDPO5OMC.js.map +0 -1
  446. package/dist/chunk-PBI7FKMB.js.map +0 -1
  447. package/dist/chunk-Q5EDCKQA.js.map +0 -1
  448. package/dist/chunk-Q5VFBPMG.mjs.map +0 -1
  449. package/dist/chunk-QSKLQX6H.js.map +0 -1
  450. package/dist/chunk-QXAOXBVB.mjs.map +0 -1
  451. package/dist/chunk-R2DXTE2L.js.map +0 -1
  452. package/dist/chunk-RTD2WHQQ.mjs +0 -16
  453. package/dist/chunk-RTD2WHQQ.mjs.map +0 -1
  454. package/dist/chunk-S6YSGVWD.js.map +0 -1
  455. package/dist/chunk-SKFEJPMJ.mjs.map +0 -1
  456. package/dist/chunk-SLKOEYFH.js.map +0 -1
  457. package/dist/chunk-TC5YU6A4.mjs.map +0 -1
  458. package/dist/chunk-UCOE6SET.js.map +0 -1
  459. package/dist/chunk-UIYKZ73N.js +0 -36
  460. package/dist/chunk-UIYKZ73N.js.map +0 -1
  461. package/dist/chunk-V7EVKD5G.mjs.map +0 -1
  462. package/dist/chunk-VMTEDX5H.js.map +0 -1
  463. package/dist/chunk-VRN76M56.mjs +0 -3
  464. package/dist/chunk-VXFUXZN5.mjs +0 -20
  465. package/dist/chunk-VXFUXZN5.mjs.map +0 -1
  466. package/dist/chunk-WEEXCPSE.mjs.map +0 -1
  467. package/dist/chunk-WJ7IMUEJ.mjs.map +0 -1
  468. package/dist/chunk-WW4GE6CZ.js.map +0 -1
  469. package/dist/chunk-XJ7ZAGC5.js.map +0 -1
  470. package/dist/chunk-XUS5ACKR.mjs.map +0 -1
  471. package/dist/chunk-YOTQG4NP.mjs.map +0 -1
  472. package/dist/chunk-ZGVB35L2.mjs.map +0 -1
  473. package/dist/chunk-ZLYPALF3.js.map +0 -1
  474. package/dist/chunk-ZM2SZJTZ.js.map +0 -1
  475. package/dist/chunk-ZRAW3HXA.js.map +0 -1
  476. package/dist/chunk-ZWQJSZEY.js.map +0 -1
  477. package/dist/components/index.js +0 -2516
  478. package/dist/components/index.js.map +0 -1
  479. package/dist/components/index.mjs.map +0 -1
  480. package/dist/config/index.js +0 -21
  481. package/dist/config/index.mjs +0 -4
  482. package/dist/config/server/index.js.map +0 -1
  483. package/dist/config/server/index.mjs.map +0 -1
  484. package/dist/drizzle-schema-BNhqj2AZ.d.mts +0 -1114
  485. package/dist/drizzle-schema-BNhqj2AZ.d.ts +0 -1114
  486. package/dist/festivalCard/index.d.mts +0 -76
  487. package/dist/festivalCard/index.d.ts +0 -76
  488. package/dist/festivalCard/index.js +0 -1492
  489. package/dist/festivalCard/index.js.map +0 -1
  490. package/dist/festivalCard/index.mjs +0 -1475
  491. package/dist/festivalCard/index.mjs.map +0 -1
  492. package/dist/festivalCard/routes/index.d.mts +0 -42
  493. package/dist/festivalCard/routes/index.d.ts +0 -42
  494. package/dist/festivalCard/routes/index.js +0 -361
  495. package/dist/festivalCard/routes/index.js.map +0 -1
  496. package/dist/festivalCard/routes/index.mjs +0 -356
  497. package/dist/festivalCard/routes/index.mjs.map +0 -1
  498. package/dist/festivalCard/server/index.d.mts +0 -120
  499. package/dist/festivalCard/server/index.d.ts +0 -120
  500. package/dist/festivalCard/server/index.js +0 -272
  501. package/dist/festivalCard/server/index.js.map +0 -1
  502. package/dist/festivalCard/server/index.mjs +0 -265
  503. package/dist/festivalCard/server/index.mjs.map +0 -1
  504. package/dist/festivalCardService-B3GsnNpV.d.ts +0 -13
  505. package/dist/festivalCardService-CWhrLNE9.d.mts +0 -13
  506. package/dist/imageCrop/index.js.map +0 -1
  507. package/dist/imageCrop/index.mjs.map +0 -1
  508. package/dist/index-Bjem5rWn.d.mts +0 -17
  509. package/dist/index-C5U-2hJq.d.ts +0 -23
  510. package/dist/index-CifSBBP2.d.ts +0 -17
  511. package/dist/index-D0K4ehme.d.mts +0 -20
  512. package/dist/index-DLnfKN-a.d.mts +0 -23
  513. package/dist/index-DSel44Ke.d.mts +0 -93
  514. package/dist/index-DSel44Ke.d.ts +0 -93
  515. package/dist/index-DZ5iJtNO.d.mts +0 -102
  516. package/dist/index-DZ5iJtNO.d.ts +0 -102
  517. package/dist/index-Da7qdkgW.d.ts +0 -20
  518. package/dist/index-DrPcMJPc.d.mts +0 -250
  519. package/dist/index-DrPcMJPc.d.ts +0 -250
  520. package/dist/index-oLUvfqT8.d.ts +0 -20
  521. package/dist/index-pe38RDgC.d.mts +0 -20
  522. package/dist/index.d.mts +0 -11611
  523. package/dist/index.d.ts +0 -11611
  524. package/dist/index.js +0 -17230
  525. package/dist/index.js.map +0 -1
  526. package/dist/index.mjs +0 -16954
  527. package/dist/index.mjs.map +0 -1
  528. package/dist/logger/index.js +0 -29
  529. package/dist/logger/index.mjs +0 -4
  530. package/dist/mikuContest/ui/web/index.d.mts +0 -2
  531. package/dist/mikuContest/ui/web/index.d.ts +0 -2
  532. package/dist/mikuContest/ui/web/index.js +0 -353
  533. package/dist/mikuContest/ui/web/index.js.map +0 -1
  534. package/dist/mikuContest/ui/web/index.mjs +0 -343
  535. package/dist/mikuContest/ui/web/index.mjs.map +0 -1
  536. package/dist/mikuFireworks3D/index.d.mts +0 -268
  537. package/dist/mikuFireworks3D/index.d.ts +0 -268
  538. package/dist/mikuFireworks3D/index.js +0 -1267
  539. package/dist/mikuFireworks3D/index.js.map +0 -1
  540. package/dist/mikuFireworks3D/index.mjs +0 -1228
  541. package/dist/mikuFireworks3D/index.mjs.map +0 -1
  542. package/dist/mikuFusionGame/index.d.mts +0 -117
  543. package/dist/mikuFusionGame/index.d.ts +0 -117
  544. package/dist/mikuFusionGame/index.js +0 -1208
  545. package/dist/mikuFusionGame/index.js.map +0 -1
  546. package/dist/mikuFusionGame/index.mjs +0 -1195
  547. package/dist/mikuFusionGame/index.mjs.map +0 -1
  548. package/dist/mmd/admin/index.d.mts +0 -487
  549. package/dist/mmd/admin/index.d.ts +0 -487
  550. package/dist/mmd/admin/index.js +0 -1058
  551. package/dist/mmd/admin/index.js.map +0 -1
  552. package/dist/mmd/admin/index.mjs +0 -1027
  553. package/dist/mmd/admin/index.mjs.map +0 -1
  554. package/dist/mmd/index.d.mts +0 -2467
  555. package/dist/mmd/index.d.ts +0 -2467
  556. package/dist/mmd/index.js +0 -10119
  557. package/dist/mmd/index.js.map +0 -1
  558. package/dist/mmd/index.mjs +0 -10028
  559. package/dist/mmd/index.mjs.map +0 -1
  560. package/dist/mmd/server/index.d.mts +0 -139
  561. package/dist/mmd/server/index.d.ts +0 -139
  562. package/dist/mmd/server/index.js +0 -424
  563. package/dist/mmd/server/index.js.map +0 -1
  564. package/dist/mmd/server/index.mjs +0 -404
  565. package/dist/mmd/server/index.mjs.map +0 -1
  566. package/dist/music/index.d.mts +0 -74
  567. package/dist/music/index.d.ts +0 -74
  568. package/dist/music/index.js +0 -830
  569. package/dist/music/index.js.map +0 -1
  570. package/dist/music/index.mjs +0 -809
  571. package/dist/music/index.mjs.map +0 -1
  572. package/dist/music/server/index.d.mts +0 -1
  573. package/dist/music/server/index.d.ts +0 -1
  574. package/dist/music/server/index.js +0 -194
  575. package/dist/music/server/index.js.map +0 -1
  576. package/dist/music/server/index.mjs +0 -182
  577. package/dist/music/server/index.mjs.map +0 -1
  578. package/dist/navigation/index.d.mts +0 -93
  579. package/dist/navigation/index.d.ts +0 -93
  580. package/dist/navigation/index.js +0 -453
  581. package/dist/navigation/index.js.map +0 -1
  582. package/dist/navigation/index.mjs +0 -443
  583. package/dist/navigation/index.mjs.map +0 -1
  584. package/dist/portfolio/index.d.mts +0 -66
  585. package/dist/portfolio/index.d.ts +0 -66
  586. package/dist/portfolio/index.js +0 -736
  587. package/dist/portfolio/index.js.map +0 -1
  588. package/dist/portfolio/index.mjs +0 -724
  589. package/dist/portfolio/index.mjs.map +0 -1
  590. package/dist/qqbot/server/index.d.mts +0 -216
  591. package/dist/qqbot/server/index.d.ts +0 -216
  592. package/dist/qqbot/server/index.js +0 -394
  593. package/dist/qqbot/server/index.js.map +0 -1
  594. package/dist/qqbot/server/index.mjs +0 -385
  595. package/dist/qqbot/server/index.mjs.map +0 -1
  596. package/dist/qqbot/ui/web/index.d.mts +0 -10
  597. package/dist/qqbot/ui/web/index.d.ts +0 -10
  598. package/dist/qqbot/ui/web/index.js +0 -105
  599. package/dist/qqbot/ui/web/index.js.map +0 -1
  600. package/dist/qqbot/ui/web/index.mjs +0 -99
  601. package/dist/qqbot/ui/web/index.mjs.map +0 -1
  602. package/dist/request/index.js +0 -22
  603. package/dist/request/index.mjs +0 -5
  604. package/dist/screenReceiver/index.d.mts +0 -86
  605. package/dist/screenReceiver/index.d.ts +0 -86
  606. package/dist/screenReceiver/index.js +0 -281
  607. package/dist/screenReceiver/index.js.map +0 -1
  608. package/dist/screenReceiver/index.mjs +0 -273
  609. package/dist/screenReceiver/index.mjs.map +0 -1
  610. package/dist/storage/index.js +0 -48
  611. package/dist/storage/index.mjs +0 -7
  612. package/dist/testYourself/admin/index.d.mts +0 -58
  613. package/dist/testYourself/admin/index.d.ts +0 -58
  614. package/dist/testYourself/admin/index.js +0 -1009
  615. package/dist/testYourself/admin/index.js.map +0 -1
  616. package/dist/testYourself/admin/index.mjs +0 -1002
  617. package/dist/testYourself/admin/index.mjs.map +0 -1
  618. package/dist/testYourself/index.d.mts +0 -53
  619. package/dist/testYourself/index.d.ts +0 -53
  620. package/dist/testYourself/index.js +0 -2551
  621. package/dist/testYourself/index.js.map +0 -1
  622. package/dist/testYourself/index.mjs +0 -2531
  623. package/dist/testYourself/index.mjs.map +0 -1
  624. package/dist/testYourself/server/index.d.mts +0 -1029
  625. package/dist/testYourself/server/index.d.ts +0 -1029
  626. package/dist/testYourself/server/index.js +0 -825
  627. package/dist/testYourself/server/index.js.map +0 -1
  628. package/dist/testYourself/server/index.mjs +0 -816
  629. package/dist/testYourself/server/index.mjs.map +0 -1
  630. package/dist/types-B6B210gX.d.mts +0 -270
  631. package/dist/types-B6B210gX.d.ts +0 -270
  632. package/dist/types-Bdnte5EN.d.mts +0 -292
  633. package/dist/types-Cs0CLvrH.d.mts +0 -70
  634. package/dist/types-Cs0CLvrH.d.ts +0 -70
  635. package/dist/types-HorDyIRv.d.mts +0 -303
  636. package/dist/types-HorDyIRv.d.ts +0 -303
  637. package/dist/types-_rFX1atk.d.ts +0 -292
  638. package/dist/universalExport/index.mjs +0 -5
  639. package/dist/universalExport/server/index.js +0 -123
  640. package/dist/universalExport/server/index.mjs +0 -6
  641. package/dist/universalFile/index.js.map +0 -1
  642. package/dist/universalFile/index.mjs.map +0 -1
  643. package/dist/universalFile/server/index.js.map +0 -1
  644. package/dist/universalFile/server/index.mjs.map +0 -1
  645. package/dist/utils/index.js +0 -46
  646. package/dist/utils/index.js.map +0 -1
  647. package/dist/utils/index.mjs +0 -5
  648. package/dist/utils/index.mjs.map +0 -1
  649. package/dist/vocaloidBooth/index.d.mts +0 -64
  650. package/dist/vocaloidBooth/index.d.ts +0 -64
  651. package/dist/vocaloidBooth/index.js +0 -376
  652. package/dist/vocaloidBooth/index.js.map +0 -1
  653. package/dist/vocaloidBooth/index.mjs +0 -362
  654. package/dist/vocaloidBooth/index.mjs.map +0 -1
  655. package/dist/vocaloidBooth/server/index.d.mts +0 -111
  656. package/dist/vocaloidBooth/server/index.d.ts +0 -111
  657. package/dist/vocaloidBooth/server/index.js +0 -247
  658. package/dist/vocaloidBooth/server/index.js.map +0 -1
  659. package/dist/vocaloidBooth/server/index.mjs +0 -237
  660. package/dist/vocaloidBooth/server/index.mjs.map +0 -1
  661. package/dist/vocaloidBooth/web/index.d.mts +0 -3
  662. package/dist/vocaloidBooth/web/index.d.ts +0 -3
  663. package/dist/vocaloidBooth/web/index.js +0 -376
  664. package/dist/vocaloidBooth/web/index.js.map +0 -1
  665. package/dist/vocaloidBooth/web/index.mjs +0 -362
  666. package/dist/vocaloidBooth/web/index.mjs.map +0 -1
  667. /package/dist/{ai → common/ai}/llm/core/index.js.map +0 -0
  668. /package/dist/{ai → common/ai}/llm/core/index.mjs.map +0 -0
  669. /package/dist/{ai → common/ai}/llm/electron/index.js.map +0 -0
  670. /package/dist/{ai → common/ai}/llm/electron/index.mjs.map +0 -0
  671. /package/dist/{ai → common/ai}/llm/index.js.map +0 -0
  672. /package/dist/{ai → common/ai}/llm/index.mjs.map +0 -0
  673. /package/dist/{ai → common/ai}/llm/miniapp/index.js.map +0 -0
  674. /package/dist/{ai → common/ai}/llm/miniapp/index.mjs.map +0 -0
  675. /package/dist/{ai → common/ai}/llm/rn/index.js.map +0 -0
  676. /package/dist/{ai → common/ai}/llm/rn/index.mjs.map +0 -0
  677. /package/dist/{ai → common/ai}/llm/ui/electron/index.js.map +0 -0
  678. /package/dist/{ai → common/ai}/llm/ui/electron/index.mjs.map +0 -0
  679. /package/dist/{ai → common/ai}/llm/ui/miniapp/index.js.map +0 -0
  680. /package/dist/{ai → common/ai}/llm/ui/miniapp/index.mjs.map +0 -0
  681. /package/dist/{ai → common/ai}/llm/ui/rn/index.js.map +0 -0
  682. /package/dist/{ai → common/ai}/llm/ui/rn/index.mjs.map +0 -0
  683. /package/dist/{ai → common/ai}/llm/ui/web/index.js.map +0 -0
  684. /package/dist/{ai → common/ai}/llm/ui/web/index.mjs.map +0 -0
  685. /package/dist/{ai → common/ai}/llm/web/index.js.map +0 -0
  686. /package/dist/{ai → common/ai}/llm/web/index.mjs.map +0 -0
  687. /package/dist/{analytics → common/analytics}/index.js.map +0 -0
  688. /package/dist/{analytics → common/analytics}/index.mjs.map +0 -0
  689. /package/dist/{analytics → common/analytics}/server/index.d.mts +0 -0
  690. /package/dist/{analytics → common/analytics}/server/index.d.ts +0 -0
  691. /package/dist/{api → common/api}/index.js.map +0 -0
  692. /package/dist/{api → common/api}/index.mjs.map +0 -0
  693. /package/dist/{config → common/components}/index.js.map +0 -0
  694. /package/dist/{config → common/components}/index.mjs.map +0 -0
  695. /package/dist/{i18n → common/config}/index.js.map +0 -0
  696. /package/dist/{i18n → common/config}/index.mjs.map +0 -0
  697. /package/dist/{config → common/config}/server/index.d.mts +0 -0
  698. /package/dist/{config → common/config}/server/index.d.ts +0 -0
  699. /package/dist/{logger → common/i18n}/index.js.map +0 -0
  700. /package/dist/{logger → common/i18n}/index.mjs.map +0 -0
  701. /package/dist/{ossFile → common/imageCrop}/index.js.map +0 -0
  702. /package/dist/{ossFile → common/imageCrop}/index.mjs.map +0 -0
  703. /package/dist/{ossFile/server → common/ossFile}/index.js.map +0 -0
  704. /package/dist/{ossFile/server → common/ossFile}/index.mjs.map +0 -0
  705. /package/dist/{request → common/ossFile/server}/index.js.map +0 -0
  706. /package/dist/{request → common/ossFile/server}/index.mjs.map +0 -0
  707. /package/dist/{storage → common/universalExport}/index.js.map +0 -0
  708. /package/dist/{storage → common/universalExport}/index.mjs.map +0 -0
  709. /package/dist/{universalExport → common/universalExport/server}/index.js.map +0 -0
  710. /package/dist/{universalExport → common/universalExport/server}/index.mjs.map +0 -0
  711. /package/dist/{universalExport → common/universalFile}/server/index.js.map +0 -0
  712. /package/dist/{universalExport → common/universalFile}/server/index.mjs.map +0 -0
@@ -1,1009 +0,0 @@
1
- 'use strict';
2
-
3
- var React = require('react');
4
- var clsx = require('clsx');
5
- var lucideReact = require('lucide-react');
6
-
7
- function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
8
-
9
- var React__default = /*#__PURE__*/_interopDefault(React);
10
-
11
- // src/testYourself/admin/ConfigManager.tsx
12
-
13
- // src/testYourself/data/defaultResults.ts
14
- var DEFAULT_RESULTS = [
15
- // 动物系列 (1-15)
16
- {
17
- id: "animal-cat",
18
- title: "\u6175\u61D2\u7684\u732B\u54AA \u{1F431}",
19
- description: "\u4F60\u5C31\u50CF\u4E00\u53EA\u4F18\u96C5\u7684\u732B\uFF0C\u72EC\u7ACB\u81EA\u4E3B\uFF0C\u559C\u6B22\u6309\u7167\u81EA\u5DF1\u7684\u8282\u594F\u751F\u6D3B\u3002\u6709\u65F6\u9AD8\u51B7\uFF0C\u6709\u65F6\u7C98\u4EBA\uFF0C\u5145\u6EE1\u795E\u79D8\u9B45\u529B\u3002",
20
- image: "\u{1F431}",
21
- imageType: "emoji"
22
- },
23
- {
24
- id: "animal-dog",
25
- title: "\u5FE0\u8BDA\u7684\u72D7\u72D7 \u{1F415}",
26
- description: "\u4F60\u50CF\u4E00\u53EA\u70ED\u60C5\u7684\u72D7\u72D7\uFF0C\u5BF9\u670B\u53CB\u5FE0\u8BDA\uFF0C\u5145\u6EE1\u6D3B\u529B\u3002\u603B\u662F\u80FD\u7ED9\u5468\u56F4\u7684\u4EBA\u5E26\u6765\u6B22\u4E50\u548C\u6E29\u6696\u3002",
27
- image: "\u{1F415}",
28
- imageType: "emoji"
29
- },
30
- {
31
- id: "animal-panda",
32
- title: "\u53EF\u7231\u7684\u718A\u732B \u{1F43C}",
33
- description: "\u4F60\u5C31\u50CF\u56FD\u5B9D\u718A\u732B\u4E00\u6837\uFF0C\u5446\u840C\u53EF\u7231\uFF0C\u4EBA\u89C1\u4EBA\u7231\u3002\u6162\u8282\u594F\u7684\u751F\u6D3B\u65B9\u5F0F\u8BA9\u4F60\u5145\u6EE1\u6CBB\u6108\u529B\u3002",
34
- image: "\u{1F43C}",
35
- imageType: "emoji"
36
- },
37
- {
38
- id: "animal-fox",
39
- title: "\u673A\u667A\u7684\u72D0\u72F8 \u{1F98A}",
40
- description: "\u806A\u660E\u4F36\u4FD0\uFF0C\u53CD\u5E94\u654F\u6377\u3002\u4F60\u603B\u80FD\u7528\u667A\u6167\u89E3\u51B3\u95EE\u9898\uFF0C\u662F\u56E2\u961F\u4E2D\u7684\u667A\u56CA\u62C5\u5F53\u3002",
41
- image: "\u{1F98A}",
42
- imageType: "emoji"
43
- },
44
- {
45
- id: "animal-owl",
46
- title: "\u777F\u667A\u7684\u732B\u5934\u9E70 \u{1F989}",
47
- description: "\u4F60\u50CF\u732B\u5934\u9E70\u4E00\u6837\u5145\u6EE1\u667A\u6167\uFF0C\u559C\u6B22\u5728\u591C\u6DF1\u4EBA\u9759\u65F6\u601D\u8003\u3002\u7406\u6027\u3001\u6C89\u7A33\u662F\u4F60\u7684\u6807\u7B7E\u3002",
48
- image: "\u{1F989}",
49
- imageType: "emoji"
50
- },
51
- {
52
- id: "animal-dolphin",
53
- title: "\u5FEB\u4E50\u7684\u6D77\u8C5A \u{1F42C}",
54
- description: "\u6D3B\u6CFC\u5F00\u6717\uFF0C\u793E\u4EA4\u8FBE\u4EBA\u3002\u4F60\u7684\u7B11\u5BB9\u80FD\u591F\u611F\u67D3\u8EAB\u8FB9\u7684\u6BCF\u4E00\u4E2A\u4EBA\u3002",
55
- image: "\u{1F42C}",
56
- imageType: "emoji"
57
- },
58
- {
59
- id: "animal-butterfly",
60
- title: "\u81EA\u7531\u7684\u8774\u8776 \u{1F98B}",
61
- description: "\u8FFD\u6C42\u81EA\u7531\uFF0C\u70ED\u7231\u7F8E\u597D\u4E8B\u7269\u3002\u4F60\u7684\u4EBA\u751F\u5145\u6EE1\u8272\u5F69\uFF0C\u4ECE\u4E0D\u88AB\u675F\u7F1A\u3002",
62
- image: "\u{1F98B}",
63
- imageType: "emoji"
64
- },
65
- {
66
- id: "animal-lion",
67
- title: "\u52C7\u6562\u7684\u72EE\u5B50 \u{1F981}",
68
- description: "\u5929\u751F\u7684\u9886\u5BFC\u8005\uFF0C\u52C7\u6562\u679C\u65AD\u3002\u4F60\u7684\u6C14\u573A\u5F3A\u5927\uFF0C\u603B\u80FD\u6FC0\u52B1\u4ED6\u4EBA\u3002",
69
- image: "\u{1F981}",
70
- imageType: "emoji"
71
- },
72
- {
73
- id: "animal-rabbit",
74
- title: "\u6E29\u67D4\u7684\u5154\u5B50 \u{1F430}",
75
- description: "\u5FC3\u5730\u5584\u826F\uFF0C\u6E29\u67D4\u4F53\u8D34\u3002\u4F60\u7684\u5B58\u5728\u5C31\u50CF\u6625\u5929\u7684\u5FAE\u98CE\uFF0C\u8BA9\u4EBA\u611F\u5230\u6E29\u6696\u3002",
76
- image: "\u{1F430}",
77
- imageType: "emoji"
78
- },
79
- {
80
- id: "animal-penguin",
81
- title: "\u5446\u840C\u7684\u4F01\u9E45 \u{1F427}",
82
- description: "\u61A8\u6001\u53EF\u63AC\uFF0C\u8BA4\u771F\u6267\u7740\u3002\u867D\u7136\u770B\u8D77\u6765\u7B28\u62D9\uFF0C\u4F46\u505A\u4E8B\u4E00\u4E1D\u4E0D\u82DF\u3002",
83
- image: "\u{1F427}",
84
- imageType: "emoji"
85
- },
86
- {
87
- id: "animal-eagle",
88
- title: "\u7FF1\u7FD4\u7684\u96C4\u9E70 \u{1F985}",
89
- description: "\u76EE\u5149\u8FDC\u5927\uFF0C\u5FD7\u5411\u9AD8\u8FDC\u3002\u4F60\u603B\u662F\u80FD\u770B\u5230\u522B\u4EBA\u770B\u4E0D\u5230\u7684\u673A\u4F1A\u3002",
90
- image: "\u{1F985}",
91
- imageType: "emoji"
92
- },
93
- {
94
- id: "animal-koala",
95
- title: "\u6175\u61D2\u7684\u8003\u62C9 \u{1F428}",
96
- description: "\u4F5B\u7CFB\u751F\u6D3B\uFF0C\u77E5\u8DB3\u5E38\u4E50\u3002\u4F60\u61C2\u5F97\u4EAB\u53D7\u5F53\u4E0B\uFF0C\u6D3B\u5728\u81EA\u5DF1\u7684\u8282\u594F\u91CC\u3002",
97
- image: "\u{1F428}",
98
- imageType: "emoji"
99
- },
100
- {
101
- id: "animal-sloth",
102
- title: "\u60A0\u95F2\u7684\u6811\u61D2 \u{1F9A5}",
103
- description: "\u6162\u6162\u6765\uFF0C\u6BD4\u8F83\u5FEB\u3002\u4F60\u76F8\u4FE1\u6025\u4E0D\u6765\u7684\u4E8B\u5C31\u4E0D\u8981\u6025\uFF0C\u4FDD\u6301\u81EA\u5DF1\u7684pace\u3002",
104
- image: "\u{1F9A5}",
105
- imageType: "emoji"
106
- },
107
- {
108
- id: "animal-unicorn",
109
- title: "\u68A6\u5E7B\u7684\u72EC\u89D2\u517D \u{1F984}",
110
- description: "\u5145\u6EE1\u5E7B\u60F3\uFF0C\u8FFD\u6C42\u5B8C\u7F8E\u3002\u4F60\u7684\u4E16\u754C\u4E94\u5F69\u6591\u6593\uFF0C\u603B\u6709\u72EC\u7279\u7684\u60F3\u6CD5\u3002",
111
- image: "\u{1F984}",
112
- imageType: "emoji"
113
- },
114
- {
115
- id: "animal-dragon",
116
- title: "\u795E\u79D8\u7684\u9F99 \u{1F409}",
117
- description: "\u5F3A\u5927\u800C\u795E\u79D8\uFF0C\u5145\u6EE1\u9B45\u529B\u3002\u4F60\u662F\u4F20\u8BF4\u4E2D\u7684\u5B58\u5728\uFF0C\u4EE4\u4EBA\u5411\u5F80\u3002",
118
- image: "\u{1F409}",
119
- imageType: "emoji"
120
- },
121
- // 星球系列 (16-25)
122
- {
123
- id: "planet-sun",
124
- title: "\u6E29\u6696\u7684\u592A\u9633 \u2600\uFE0F",
125
- description: "\u4F60\u5C31\u50CF\u592A\u9633\u4E00\u6837\uFF0C\u662F\u56E2\u961F\u7684\u80FD\u91CF\u6765\u6E90\uFF0C\u6E29\u6696\u7740\u5468\u56F4\u7684\u6BCF\u4E2A\u4EBA\u3002",
126
- image: "\u2600\uFE0F",
127
- imageType: "emoji"
128
- },
129
- {
130
- id: "planet-moon",
131
- title: "\u6E29\u67D4\u7684\u6708\u4EAE \u{1F319}",
132
- description: "\u5B89\u9759\u800C\u6E29\u67D4\uFF0C\u5728\u9ED1\u6697\u4E2D\u7ED9\u4EBA\u5149\u660E\u3002\u4F60\u662F\u591C\u665A\u6700\u7F8E\u7684\u966A\u4F34\u3002",
133
- image: "\u{1F319}",
134
- imageType: "emoji"
135
- },
136
- {
137
- id: "planet-star",
138
- title: "\u95EA\u8000\u7684\u661F\u661F \u2B50",
139
- description: "\u867D\u7136\u6E3A\u5C0F\uFF0C\u4F46\u59CB\u7EC8\u95EA\u8000\u3002\u4F60\u7528\u81EA\u5DF1\u7684\u65B9\u5F0F\u53D1\u5149\u53D1\u70ED\u3002",
140
- image: "\u2B50",
141
- imageType: "emoji"
142
- },
143
- {
144
- id: "planet-earth",
145
- title: "\u5305\u5BB9\u7684\u5730\u7403 \u{1F30D}",
146
- description: "\u5305\u5BB9\u4E07\u7269\uFF0C\u751F\u673A\u52C3\u52C3\u3002\u4F60\u6709\u7740\u5BBD\u5E7F\u7684\u80F8\u6000\u548C\u65E0\u9650\u7684\u53EF\u80FD\u3002",
147
- image: "\u{1F30D}",
148
- imageType: "emoji"
149
- },
150
- {
151
- id: "planet-saturn",
152
- title: "\u72EC\u7279\u7684\u571F\u661F \u{1FA90}",
153
- description: "\u4E0E\u4F17\u4E0D\u540C\uFF0C\u81EA\u6210\u4E00\u683C\u3002\u4F60\u7684\u4E2A\u6027\u5C31\u50CF\u571F\u661F\u73AF\u4E00\u6837\u4EE4\u4EBA\u7740\u8FF7\u3002",
154
- image: "\u{1FA90}",
155
- imageType: "emoji"
156
- },
157
- {
158
- id: "weather-rainbow",
159
- title: "\u7EDA\u4E3D\u7684\u5F69\u8679 \u{1F308}",
160
- description: "\u98CE\u96E8\u8FC7\u540E\u89C1\u5F69\u8679\uFF0C\u4F60\u603B\u80FD\u5728\u56F0\u96BE\u540E\u770B\u5230\u5E0C\u671B\u548C\u7F8E\u597D\u3002",
161
- image: "\u{1F308}",
162
- imageType: "emoji"
163
- },
164
- {
165
- id: "weather-cloud",
166
- title: "\u98D8\u9038\u7684\u4E91\u6735 \u2601\uFE0F",
167
- description: "\u81EA\u7531\u81EA\u5728\uFF0C\u968F\u98CE\u98D8\u8361\u3002\u4F60\u4E0D\u88AB\u5B9A\u4E49\uFF0C\u6C38\u8FDC\u5145\u6EE1\u53EF\u80FD\u3002",
168
- image: "\u2601\uFE0F",
169
- imageType: "emoji"
170
- },
171
- {
172
- id: "weather-lightning",
173
- title: "\u95EA\u7535 \u26A1",
174
- description: "\u7206\u53D1\u529B\u5F3A\uFF0C\u884C\u52A8\u8FC5\u901F\u3002\u4F60\u7684\u80FD\u91CF\u5C31\u50CF\u95EA\u7535\u4E00\u6837\u4EE4\u4EBA\u9707\u64BC\u3002",
175
- image: "\u26A1",
176
- imageType: "emoji"
177
- },
178
- {
179
- id: "weather-snowflake",
180
- title: "\u72EC\u7279\u7684\u96EA\u82B1 \u2744\uFE0F",
181
- description: "\u4E16\u754C\u4E0A\u6CA1\u6709\u4E24\u7247\u76F8\u540C\u7684\u96EA\u82B1\uFF0C\u4F60\u4E5F\u662F\u72EC\u4E00\u65E0\u4E8C\u7684\u5B58\u5728\u3002",
182
- image: "\u2744\uFE0F",
183
- imageType: "emoji"
184
- },
185
- {
186
- id: "weather-fire",
187
- title: "\u70ED\u60C5\u7684\u706B\u7130 \u{1F525}",
188
- description: "\u70ED\u60C5\u4F3C\u706B\uFF0C\u5145\u6EE1\u6FC0\u60C5\u3002\u4F60\u7684\u5B58\u5728\u80FD\u70B9\u71C3\u5468\u56F4\u7684\u6C14\u6C1B\u3002",
189
- image: "\u{1F525}",
190
- imageType: "emoji"
191
- },
192
- // 植物系列 (26-35)
193
- {
194
- id: "plant-tree",
195
- title: "\u575A\u97E7\u7684\u5927\u6811 \u{1F333}",
196
- description: "\u7A33\u91CD\u53EF\u9760\uFF0C\u6839\u57FA\u6DF1\u539A\u3002\u4F60\u662F\u5927\u5BB6\u53EF\u4EE5\u4F9D\u9760\u7684\u5B58\u5728\u3002",
197
- image: "\u{1F333}",
198
- imageType: "emoji"
199
- },
200
- {
201
- id: "plant-flower",
202
- title: "\u7F8E\u4E3D\u7684\u82B1\u6735 \u{1F338}",
203
- description: "\u7EFD\u653E\u81EA\u6211\uFF0C\u7F8E\u4E3D\u52A8\u4EBA\u3002\u4F60\u7684\u5B58\u5728\u5C31\u662F\u4E00\u9053\u9753\u4E3D\u7684\u98CE\u666F\u3002",
204
- image: "\u{1F338}",
205
- imageType: "emoji"
206
- },
207
- {
208
- id: "plant-sunflower",
209
- title: "\u5411\u9633\u7684\u5411\u65E5\u8475 \u{1F33B}",
210
- description: "\u6C38\u8FDC\u5411\u7740\u9633\u5149\uFF0C\u79EF\u6781\u5411\u4E0A\u3002\u4F60\u7684\u4E50\u89C2\u611F\u67D3\u7740\u6BCF\u4E2A\u4EBA\u3002",
211
- image: "\u{1F33B}",
212
- imageType: "emoji"
213
- },
214
- {
215
- id: "plant-rose",
216
- title: "\u4F18\u96C5\u7684\u73AB\u7470 \u{1F339}",
217
- description: "\u9AD8\u8D35\u4F18\u96C5\uFF0C\u5145\u6EE1\u9B45\u529B\u3002\u867D\u6709\u523A\u4F46\u66F4\u6709\u7F8E\u4E3D\u3002",
218
- image: "\u{1F339}",
219
- imageType: "emoji"
220
- },
221
- {
222
- id: "plant-cactus",
223
- title: "\u575A\u5F3A\u7684\u4ED9\u4EBA\u638C \u{1F335}",
224
- description: "\u5728\u8270\u96BE\u73AF\u5883\u4E2D\u4F9D\u7136\u575A\u5F3A\u3002\u4F60\u7684\u97E7\u6027\u4EE4\u4EBA\u656C\u4F69\u3002",
225
- image: "\u{1F335}",
226
- imageType: "emoji"
227
- },
228
- {
229
- id: "plant-clover",
230
- title: "\u5E78\u8FD0\u7684\u56DB\u53F6\u8349 \u{1F340}",
231
- description: "\u5E78\u8FD0\u7684\u8C61\u5F81\uFF0C\u603B\u80FD\u7ED9\u4EBA\u5E26\u6765\u597D\u8FD0\u548C\u5E0C\u671B\u3002",
232
- image: "\u{1F340}",
233
- imageType: "emoji"
234
- },
235
- {
236
- id: "plant-maple",
237
- title: "\u6D6A\u6F2B\u7684\u67AB\u53F6 \u{1F341}",
238
- description: "\u6D6A\u6F2B\u800C\u8BD7\u610F\uFF0C\u4F60\u7684\u4E16\u754C\u5145\u6EE1\u827A\u672F\u6C14\u606F\u3002",
239
- image: "\u{1F341}",
240
- imageType: "emoji"
241
- },
242
- {
243
- id: "plant-mushroom",
244
- title: "\u795E\u79D8\u7684\u8611\u83C7 \u{1F344}",
245
- description: "\u4F4E\u8C03\u795E\u79D8\uFF0C\u603B\u6709\u610F\u60F3\u4E0D\u5230\u7684\u60CA\u559C\u3002",
246
- image: "\u{1F344}",
247
- imageType: "emoji"
248
- },
249
- {
250
- id: "plant-cherry",
251
- title: "\u6D6A\u6F2B\u7684\u6A31\u82B1 \u{1F338}",
252
- description: "\u77ED\u6682\u800C\u7F8E\u597D\uFF0C\u4F60\u73CD\u60DC\u6BCF\u4E00\u4E2A\u77AC\u95F4\u7684\u7F8E\u4E3D\u3002",
253
- image: "\u{1F338}",
254
- imageType: "emoji"
255
- },
256
- {
257
- id: "plant-bamboo",
258
- title: "\u575A\u97E7\u7684\u7AF9\u5B50 \u{1F38B}",
259
- description: "\u865A\u5FC3\u6709\u8282\uFF0C\u6108\u632B\u6108\u52C7\u3002\u4F60\u7684\u7CBE\u795E\u503C\u5F97\u5B66\u4E60\u3002",
260
- image: "\u{1F38B}",
261
- imageType: "emoji"
262
- },
263
- // 食物系列 (36-45)
264
- {
265
- id: "food-coffee",
266
- title: "\u63D0\u795E\u7684\u5496\u5561 \u2615",
267
- description: "\u4F60\u5C31\u50CF\u5496\u5561\uFF0C\u662F\u5927\u5BB6\u7684\u80FD\u91CF\u6765\u6E90\uFF0C\u5E2E\u52A9\u4ED6\u4EBA\u4FDD\u6301\u6D3B\u529B\u3002",
268
- image: "\u2615",
269
- imageType: "emoji"
270
- },
271
- {
272
- id: "food-pizza",
273
- title: "\u5FEB\u4E50\u7684\u62AB\u8428 \u{1F355}",
274
- description: "\u4EBA\u89C1\u4EBA\u7231\uFF0C\u603B\u80FD\u5E26\u6765\u5FEB\u4E50\u3002\u4F60\u662F\u805A\u4F1A\u7684\u7075\u9B42\u3002",
275
- image: "\u{1F355}",
276
- imageType: "emoji"
277
- },
278
- {
279
- id: "food-cookie",
280
- title: "\u751C\u871C\u7684\u997C\u5E72 \u{1F36A}",
281
- description: "\u6E29\u6696\u751C\u871C\uFF0C\u7ED9\u4EBAcomfort\u3002\u4F60\u662F\u6700\u597D\u7684\u6CBB\u6108\u7CFB\u5B58\u5728\u3002",
282
- image: "\u{1F36A}",
283
- imageType: "emoji"
284
- },
285
- {
286
- id: "food-icecream",
287
- title: "\u6E05\u51C9\u7684\u51B0\u6DC7\u6DCB \u{1F366}",
288
- description: "\u751C\u7F8E\u53EF\u7231\uFF0C\u5728\u708E\u70ED\u65F6\u7ED9\u4EBA\u6E05\u51C9\u3002\u4F60\u603B\u80FD\u5728\u5173\u952E\u65F6\u523B\u51FA\u73B0\u3002",
289
- image: "\u{1F366}",
290
- imageType: "emoji"
291
- },
292
- {
293
- id: "food-honey",
294
- title: "\u751C\u871C\u7684\u8702\u871C \u{1F36F}",
295
- description: "\u5929\u7136\u751C\u7F8E\uFF0C\u7EAF\u7CB9\u53EF\u7231\u3002\u4F60\u7684\u5B58\u5728\u5C31\u662F\u5E78\u798F\u7684\u5473\u9053\u3002",
296
- image: "\u{1F36F}",
297
- imageType: "emoji"
298
- },
299
- {
300
- id: "food-sushi",
301
- title: "\u7CBE\u81F4\u7684\u5BFF\u53F8 \u{1F363}",
302
- description: "\u7CBE\u81F4\u4F18\u96C5\uFF0C\u6CE8\u91CD\u7EC6\u8282\u3002\u4F60\u5BF9\u751F\u6D3B\u6709\u7740\u72EC\u7279\u7684\u54C1\u5473\u3002",
303
- image: "\u{1F363}",
304
- imageType: "emoji"
305
- },
306
- {
307
- id: "food-cake",
308
- title: "\u751C\u7F8E\u7684\u86CB\u7CD5 \u{1F382}",
309
- description: "\u751C\u871C\u7F8E\u597D\uFF0C\u662F\u5E86\u795D\u7684\u8C61\u5F81\u3002\u4F60\u603B\u80FD\u7ED9\u4EBA\u5E26\u6765\u60CA\u559C\u3002",
310
- image: "\u{1F382}",
311
- imageType: "emoji"
312
- },
313
- {
314
- id: "food-donut",
315
- title: "\u53EF\u7231\u7684\u751C\u751C\u5708 \u{1F369}",
316
- description: "\u5706\u5706\u6EE1\u6EE1\uFF0C\u751C\u871C\u53EF\u7231\u3002\u4F60\u7684\u5B58\u5728\u8BA9\u751F\u6D3B\u66F4\u7F8E\u597D\u3002",
317
- image: "\u{1F369}",
318
- imageType: "emoji"
319
- },
320
- {
321
- id: "food-lollipop",
322
- title: "\u7AE5\u771F\u7684\u68D2\u68D2\u7CD6 \u{1F36D}",
323
- description: "\u4FDD\u6301\u7AE5\u5FC3\uFF0C\u6C38\u8FDC\u5E74\u8F7B\u3002\u4F60\u7684\u7EAF\u771F\u4EE4\u4EBA\u7FA1\u6155\u3002",
324
- image: "\u{1F36D}",
325
- imageType: "emoji"
326
- },
327
- {
328
- id: "food-watermelon",
329
- title: "\u6E05\u723D\u7684\u897F\u74DC \u{1F349}",
330
- description: "\u6E05\u723D\u89E3\u6E34\uFF0C\u590F\u65E5\u5FC5\u5907\u3002\u4F60\u603B\u80FD\u5E26\u6765\u6E05\u65B0\u7684\u611F\u89C9\u3002",
331
- image: "\u{1F349}",
332
- imageType: "emoji"
333
- }
334
- ];
335
- if (DEFAULT_RESULTS.length !== 45) {
336
- console.warn("\u7ED3\u679C\u6570\u636E\u96C6\u5E94\u5305\u542B45\u9879\uFF0C\u5F53\u524D: " + DEFAULT_RESULTS.length);
337
- }
338
-
339
- // src/testYourself/admin/ConfigManager.tsx
340
- var ConfigManager = ({
341
- configService,
342
- onConfigChange,
343
- className = "",
344
- onImageUpload
345
- }) => {
346
- const [configs, setConfigs] = React.useState([]);
347
- const [selectedConfig, setSelectedConfig] = React.useState(null);
348
- const [isEditing, setIsEditing] = React.useState(false);
349
- const [isCreating, setIsCreating] = React.useState(false);
350
- const [loading, setLoading] = React.useState(true);
351
- const [error, setError] = React.useState(null);
352
- const [success, setSuccess] = React.useState(null);
353
- const [editForm, setEditForm] = React.useState({
354
- name: "",
355
- description: "",
356
- gameTitle: "",
357
- gameDescription: "",
358
- buttonText: "\u957F\u6309\u5F00\u59CB\u6D4B\u8BD5",
359
- longPressDuration: 2e3,
360
- results: []
361
- });
362
- const loadConfigs = React.useCallback(async () => {
363
- try {
364
- setLoading(true);
365
- const allConfigs = await configService.getAllConfigs();
366
- setConfigs(allConfigs);
367
- onConfigChange?.(allConfigs);
368
- } catch (err) {
369
- setError("\u52A0\u8F7D\u914D\u7F6E\u5931\u8D25: " + err.message);
370
- } finally {
371
- setLoading(false);
372
- }
373
- }, [configService, onConfigChange]);
374
- React.useEffect(() => {
375
- loadConfigs();
376
- }, [loadConfigs]);
377
- const handleStartCreate = () => {
378
- setEditForm({
379
- name: "\u65B0\u914D\u7F6E",
380
- description: "",
381
- gameTitle: "\u6D4B\u6D4B\u4F60\u662F\u4EC0\u4E48",
382
- gameDescription: "\u957F\u6309\u6309\u94AE\uFF0C\u53D1\u73B0\u4F60\u7684\u4E13\u5C5E\u5C5E\u6027",
383
- buttonText: "\u957F\u6309\u5F00\u59CB\u6D4B\u8BD5",
384
- longPressDuration: 2e3,
385
- results: []
386
- });
387
- setIsCreating(true);
388
- setIsEditing(true);
389
- setSelectedConfig(null);
390
- };
391
- const handleStartEdit = (config) => {
392
- setEditForm({
393
- name: config.name,
394
- description: config.description || "",
395
- gameTitle: config.config.gameTitle,
396
- gameDescription: config.config.gameDescription || "",
397
- buttonText: config.config.buttonText || "\u957F\u6309\u5F00\u59CB\u6D4B\u8BD5",
398
- longPressDuration: config.config.longPressDuration || 2e3,
399
- results: config.config.results
400
- });
401
- setIsCreating(false);
402
- setIsEditing(true);
403
- setSelectedConfig(config);
404
- };
405
- const handleCancelEdit = () => {
406
- setIsEditing(false);
407
- setIsCreating(false);
408
- setSelectedConfig(null);
409
- setError(null);
410
- };
411
- const handleSave = async () => {
412
- try {
413
- setError(null);
414
- if (!editForm.name.trim()) {
415
- setError("\u8BF7\u8F93\u5165\u914D\u7F6E\u540D\u79F0");
416
- return;
417
- }
418
- if (!editForm.gameTitle.trim()) {
419
- setError("\u8BF7\u8F93\u5165\u6E38\u620F\u6807\u9898");
420
- return;
421
- }
422
- if (editForm.results.length === 0) {
423
- setError("\u8BF7\u81F3\u5C11\u6DFB\u52A0\u4E00\u4E2A\u7ED3\u679C\u9879");
424
- return;
425
- }
426
- const testConfig = {
427
- gameTitle: editForm.gameTitle,
428
- gameDescription: editForm.gameDescription,
429
- buttonText: editForm.buttonText,
430
- longPressDuration: editForm.longPressDuration,
431
- results: editForm.results
432
- };
433
- if (isCreating) {
434
- await configService.createConfig(
435
- editForm.name,
436
- testConfig,
437
- editForm.description
438
- );
439
- setSuccess("\u521B\u5EFA\u914D\u7F6E\u6210\u529F\uFF01");
440
- } else if (selectedConfig) {
441
- await configService.updateConfig(selectedConfig.id, {
442
- name: editForm.name,
443
- description: editForm.description,
444
- config: testConfig
445
- });
446
- setSuccess("\u66F4\u65B0\u914D\u7F6E\u6210\u529F\uFF01");
447
- }
448
- await loadConfigs();
449
- handleCancelEdit();
450
- setTimeout(() => setSuccess(null), 3e3);
451
- } catch (err) {
452
- setError("\u4FDD\u5B58\u5931\u8D25: " + err.message);
453
- }
454
- };
455
- const handleDelete = async (id) => {
456
- if (!confirm("\u786E\u5B9A\u8981\u5220\u9664\u8FD9\u4E2A\u914D\u7F6E\u5417\uFF1F")) return;
457
- try {
458
- await configService.deleteConfig(id);
459
- await loadConfigs();
460
- setSuccess("\u5220\u9664\u6210\u529F\uFF01");
461
- setTimeout(() => setSuccess(null), 3e3);
462
- } catch (err) {
463
- setError("\u5220\u9664\u5931\u8D25: " + err.message);
464
- }
465
- };
466
- const handleDuplicate = async (id) => {
467
- try {
468
- await configService.duplicateConfig(id);
469
- await loadConfigs();
470
- setSuccess("\u590D\u5236\u6210\u529F\uFF01");
471
- setTimeout(() => setSuccess(null), 3e3);
472
- } catch (err) {
473
- setError("\u590D\u5236\u5931\u8D25: " + err.message);
474
- }
475
- };
476
- const handleSetDefault = async (id) => {
477
- try {
478
- await configService.setDefaultConfig(id);
479
- await loadConfigs();
480
- setSuccess("\u8BBE\u7F6E\u9ED8\u8BA4\u914D\u7F6E\u6210\u529F\uFF01");
481
- setTimeout(() => setSuccess(null), 3e3);
482
- } catch (err) {
483
- setError("\u8BBE\u7F6E\u5931\u8D25: " + err.message);
484
- }
485
- };
486
- const handleExport = async (id) => {
487
- try {
488
- const jsonString = await configService.exportConfig(id);
489
- const blob = new Blob([jsonString], { type: "application/json" });
490
- const url = URL.createObjectURL(blob);
491
- const a = document.createElement("a");
492
- a.href = url;
493
- a.download = "config_" + id + ".json";
494
- document.body.appendChild(a);
495
- a.click();
496
- document.body.removeChild(a);
497
- URL.revokeObjectURL(url);
498
- setSuccess("\u5BFC\u51FA\u6210\u529F\uFF01");
499
- setTimeout(() => setSuccess(null), 3e3);
500
- } catch (err) {
501
- setError("\u5BFC\u51FA\u5931\u8D25: " + err.message);
502
- }
503
- };
504
- const handleImport = async () => {
505
- const input = document.createElement("input");
506
- input.type = "file";
507
- input.accept = ".json";
508
- input.onchange = async (e) => {
509
- const file = e.target.files?.[0];
510
- if (!file) return;
511
- try {
512
- const text = await file.text();
513
- await configService.importConfig(text);
514
- await loadConfigs();
515
- setSuccess("\u5BFC\u5165\u6210\u529F\uFF01");
516
- setTimeout(() => setSuccess(null), 3e3);
517
- } catch (err) {
518
- setError("\u5BFC\u5165\u5931\u8D25: " + err.message);
519
- }
520
- };
521
- input.click();
522
- };
523
- const handleAddResult = () => {
524
- const newResult = {
525
- id: "temp_" + Date.now(),
526
- _tempId: "temp_" + Date.now(),
527
- title: "\u65B0\u7ED3\u679C",
528
- description: "\u8FD9\u662F\u4E00\u4E2A\u65B0\u7684\u7ED3\u679C\u63CF\u8FF0",
529
- image: "\u{1F389}",
530
- imageType: "emoji"
531
- };
532
- setEditForm({
533
- ...editForm,
534
- results: [...editForm.results, newResult]
535
- });
536
- };
537
- const handleDeleteResult = (index) => {
538
- const newResults = [...editForm.results];
539
- newResults.splice(index, 1);
540
- setEditForm({ ...editForm, results: newResults });
541
- };
542
- const handleUpdateResult = (index, updates) => {
543
- const newResults = [...editForm.results];
544
- newResults[index] = { ...newResults[index], ...updates };
545
- setEditForm({ ...editForm, results: newResults });
546
- };
547
- const handleResultImageUpload = async (index, file) => {
548
- try {
549
- if (!onImageUpload) {
550
- const reader = new FileReader();
551
- reader.onload = (e) => {
552
- const base64 = e.target?.result;
553
- handleUpdateResult(index, {
554
- image: base64,
555
- imageType: "url"
556
- });
557
- };
558
- reader.readAsDataURL(file);
559
- } else {
560
- const url = await onImageUpload(file);
561
- handleUpdateResult(index, {
562
- image: url,
563
- imageType: "url"
564
- });
565
- }
566
- } catch (err) {
567
- setError("\u4E0A\u4F20\u56FE\u7247\u5931\u8D25: " + err.message);
568
- }
569
- };
570
- const handleUseDefaultResults = () => {
571
- if (confirm("\u786E\u5B9A\u8981\u4F7F\u7528\u9ED8\u8BA4\u768445\u4E2A\u7ED3\u679C\u5417\uFF1F\u8FD9\u5C06\u66FF\u6362\u5F53\u524D\u7684\u6240\u6709\u7ED3\u679C\u3002")) {
572
- setEditForm({ ...editForm, results: DEFAULT_RESULTS });
573
- }
574
- };
575
- const renderConfigList = () => /* @__PURE__ */ React__default.default.createElement("div", { className: "space-y-4" }, configs.map((config) => /* @__PURE__ */ React__default.default.createElement(
576
- "div",
577
- {
578
- key: config.id,
579
- className: "bg-white dark:bg-gray-800 rounded-lg shadow-sm p-4 border border-gray-200 dark:border-gray-700 hover:shadow-md transition-shadow"
580
- },
581
- /* @__PURE__ */ React__default.default.createElement("div", { className: "flex items-start justify-between" }, /* @__PURE__ */ React__default.default.createElement("div", { className: "flex-1" }, /* @__PURE__ */ React__default.default.createElement("div", { className: "flex items-center gap-2 mb-1" }, /* @__PURE__ */ React__default.default.createElement("h3", { className: "text-lg font-semibold text-gray-900 dark:text-white" }, config.name), config.isDefault && /* @__PURE__ */ React__default.default.createElement("span", { className: "inline-flex items-center gap-1 px-2 py-0.5 rounded-full text-xs font-medium bg-yellow-100 text-yellow-800 dark:bg-yellow-900 dark:text-yellow-200" }, /* @__PURE__ */ React__default.default.createElement(lucideReact.Star, { className: "w-3 h-3" }), "\u9ED8\u8BA4")), config.description && /* @__PURE__ */ React__default.default.createElement("p", { className: "text-sm text-gray-600 dark:text-gray-400 mb-2" }, config.description), /* @__PURE__ */ React__default.default.createElement("div", { className: "flex items-center gap-4 text-xs text-gray-500 dark:text-gray-400" }, /* @__PURE__ */ React__default.default.createElement("span", null, "\u7ED3\u679C\u6570: ", config.config.results.length), /* @__PURE__ */ React__default.default.createElement("span", null, "\u521B\u5EFA: ", new Date(config.createdAt).toLocaleDateString()))), /* @__PURE__ */ React__default.default.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ React__default.default.createElement(
582
- "button",
583
- {
584
- onClick: () => handleSetDefault(config.id),
585
- disabled: config.isDefault,
586
- className: "p-2 text-gray-600 hover:text-yellow-600 disabled:opacity-50 disabled:cursor-not-allowed",
587
- title: "\u8BBE\u4E3A\u9ED8\u8BA4"
588
- },
589
- /* @__PURE__ */ React__default.default.createElement(lucideReact.Star, { className: "w-5 h-5" })
590
- ), /* @__PURE__ */ React__default.default.createElement(
591
- "button",
592
- {
593
- onClick: () => handleStartEdit(config),
594
- className: "p-2 text-gray-600 hover:text-blue-600",
595
- title: "\u7F16\u8F91"
596
- },
597
- /* @__PURE__ */ React__default.default.createElement(lucideReact.Edit, { className: "w-5 h-5" })
598
- ), /* @__PURE__ */ React__default.default.createElement(
599
- "button",
600
- {
601
- onClick: () => handleDuplicate(config.id),
602
- className: "p-2 text-gray-600 hover:text-green-600",
603
- title: "\u590D\u5236"
604
- },
605
- /* @__PURE__ */ React__default.default.createElement(lucideReact.Copy, { className: "w-5 h-5" })
606
- ), /* @__PURE__ */ React__default.default.createElement(
607
- "button",
608
- {
609
- onClick: () => handleExport(config.id),
610
- className: "p-2 text-gray-600 hover:text-purple-600",
611
- title: "\u5BFC\u51FA"
612
- },
613
- /* @__PURE__ */ React__default.default.createElement(lucideReact.Download, { className: "w-5 h-5" })
614
- ), /* @__PURE__ */ React__default.default.createElement(
615
- "button",
616
- {
617
- onClick: () => handleDelete(config.id),
618
- className: "p-2 text-gray-600 hover:text-red-600",
619
- title: "\u5220\u9664"
620
- },
621
- /* @__PURE__ */ React__default.default.createElement(lucideReact.Trash2, { className: "w-5 h-5" })
622
- )))
623
- )));
624
- const renderResultEditor = (result, index) => /* @__PURE__ */ React__default.default.createElement(
625
- "div",
626
- {
627
- key: result._tempId || result.id,
628
- className: "bg-gray-50 dark:bg-gray-700 rounded-lg p-4 space-y-3"
629
- },
630
- /* @__PURE__ */ React__default.default.createElement("div", { className: "flex items-start justify-between" }, /* @__PURE__ */ React__default.default.createElement("h4", { className: "text-sm font-medium text-gray-700 dark:text-gray-300" }, "\u7ED3\u679C #", index + 1), /* @__PURE__ */ React__default.default.createElement(
631
- "button",
632
- {
633
- onClick: () => handleDeleteResult(index),
634
- className: "text-red-600 hover:text-red-700"
635
- },
636
- /* @__PURE__ */ React__default.default.createElement(lucideReact.Trash2, { className: "w-4 h-4" })
637
- )),
638
- /* @__PURE__ */ React__default.default.createElement("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-3" }, /* @__PURE__ */ React__default.default.createElement("div", null, /* @__PURE__ */ React__default.default.createElement("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1" }, "\u6807\u9898"), /* @__PURE__ */ React__default.default.createElement(
639
- "input",
640
- {
641
- type: "text",
642
- value: result.title,
643
- onChange: (e) => handleUpdateResult(index, { title: e.target.value }),
644
- className: "w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-lg focus:ring-2 focus:ring-blue-500 dark:bg-gray-800 dark:text-white",
645
- placeholder: "\u4F8B\u5982: \u53EF\u7231\u7684\u732B\u54AA"
646
- }
647
- )), /* @__PURE__ */ React__default.default.createElement("div", null, /* @__PURE__ */ React__default.default.createElement("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1" }, "\u56FE\u7247/Emoji"), /* @__PURE__ */ React__default.default.createElement("div", { className: "flex gap-2" }, /* @__PURE__ */ React__default.default.createElement(
648
- "input",
649
- {
650
- type: "text",
651
- value: result.image,
652
- onChange: (e) => handleUpdateResult(index, { image: e.target.value }),
653
- className: "flex-1 px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-lg focus:ring-2 focus:ring-blue-500 dark:bg-gray-800 dark:text-white",
654
- placeholder: "\u{1F389} \u6216 URL"
655
- }
656
- ), /* @__PURE__ */ React__default.default.createElement("label", { className: "cursor-pointer inline-flex items-center justify-center px-3 py-2 bg-blue-50 dark:bg-blue-900 text-blue-600 dark:text-blue-200 rounded-lg hover:bg-blue-100 dark:hover:bg-blue-800" }, /* @__PURE__ */ React__default.default.createElement(lucideReact.Image, { className: "w-5 h-5" }), /* @__PURE__ */ React__default.default.createElement(
657
- "input",
658
- {
659
- type: "file",
660
- accept: "image/*",
661
- className: "hidden",
662
- onChange: (e) => {
663
- const file = e.target.files?.[0];
664
- if (file) handleResultImageUpload(index, file);
665
- }
666
- }
667
- ))))),
668
- /* @__PURE__ */ React__default.default.createElement("div", null, /* @__PURE__ */ React__default.default.createElement("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1" }, "\u63CF\u8FF0"), /* @__PURE__ */ React__default.default.createElement(
669
- "textarea",
670
- {
671
- value: result.description,
672
- onChange: (e) => handleUpdateResult(index, { description: e.target.value }),
673
- rows: 2,
674
- className: "w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-lg focus:ring-2 focus:ring-blue-500 dark:bg-gray-800 dark:text-white",
675
- placeholder: "\u8FD9\u4E2A\u7ED3\u679C\u7684\u8BE6\u7EC6\u63CF\u8FF0..."
676
- }
677
- )),
678
- result.image && /* @__PURE__ */ React__default.default.createElement("div", { className: "flex items-center gap-2 p-2 bg-white dark:bg-gray-600 rounded border border-gray-200 dark:border-gray-500" }, /* @__PURE__ */ React__default.default.createElement("span", { className: "text-sm text-gray-500 dark:text-gray-400" }, "\u9884\u89C8:"), result.imageType === "emoji" ? /* @__PURE__ */ React__default.default.createElement("span", { className: "text-2xl" }, result.image) : /* @__PURE__ */ React__default.default.createElement("img", { src: result.image, alt: result.title, className: "w-8 h-8 object-cover rounded" }), /* @__PURE__ */ React__default.default.createElement("span", { className: "text-sm font-medium text-gray-700 dark:text-gray-300" }, result.title))
679
- );
680
- const renderEditForm = () => /* @__PURE__ */ React__default.default.createElement("div", { className: "space-y-6" }, /* @__PURE__ */ React__default.default.createElement("div", { className: "flex items-center justify-between" }, /* @__PURE__ */ React__default.default.createElement("h2", { className: "text-2xl font-bold text-gray-900 dark:text-white" }, isCreating ? "\u521B\u5EFA\u65B0\u914D\u7F6E" : "\u7F16\u8F91\u914D\u7F6E"), /* @__PURE__ */ React__default.default.createElement(
681
- "button",
682
- {
683
- onClick: handleCancelEdit,
684
- className: "p-2 text-gray-600 hover:text-gray-800 dark:text-gray-400 dark:hover:text-gray-200"
685
- },
686
- /* @__PURE__ */ React__default.default.createElement(lucideReact.X, { className: "w-6 h-6" })
687
- )), /* @__PURE__ */ React__default.default.createElement("div", { className: "space-y-4 bg-white dark:bg-gray-800 rounded-lg p-6 shadow-sm border border-gray-200 dark:border-gray-700" }, /* @__PURE__ */ React__default.default.createElement("h3", { className: "text-lg font-semibold text-gray-900 dark:text-white mb-4" }, "\u57FA\u672C\u4FE1\u606F"), /* @__PURE__ */ React__default.default.createElement("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-4" }, /* @__PURE__ */ React__default.default.createElement("div", null, /* @__PURE__ */ React__default.default.createElement("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300 mb-2" }, "\u914D\u7F6E\u540D\u79F0 *"), /* @__PURE__ */ React__default.default.createElement(
688
- "input",
689
- {
690
- type: "text",
691
- value: editForm.name,
692
- onChange: (e) => setEditForm({ ...editForm, name: e.target.value }),
693
- className: "w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-lg focus:ring-2 focus:ring-blue-500 dark:bg-gray-700 dark:text-white",
694
- placeholder: "\u4F8B\u5982: \u52A8\u7269\u4E3B\u9898\u6D4B\u8BD5"
695
- }
696
- )), /* @__PURE__ */ React__default.default.createElement("div", null, /* @__PURE__ */ React__default.default.createElement("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300 mb-2" }, "\u6E38\u620F\u6807\u9898 *"), /* @__PURE__ */ React__default.default.createElement(
697
- "input",
698
- {
699
- type: "text",
700
- value: editForm.gameTitle,
701
- onChange: (e) => setEditForm({ ...editForm, gameTitle: e.target.value }),
702
- className: "w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-lg focus:ring-2 focus:ring-blue-500 dark:bg-gray-700 dark:text-white",
703
- placeholder: "\u4F8B\u5982: \u6D4B\u6D4B\u4F60\u662F\u4EC0\u4E48\u52A8\u7269"
704
- }
705
- ))), /* @__PURE__ */ React__default.default.createElement("div", null, /* @__PURE__ */ React__default.default.createElement("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300 mb-2" }, "\u914D\u7F6E\u63CF\u8FF0"), /* @__PURE__ */ React__default.default.createElement(
706
- "textarea",
707
- {
708
- value: editForm.description,
709
- onChange: (e) => setEditForm({ ...editForm, description: e.target.value }),
710
- rows: 2,
711
- className: "w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-lg focus:ring-2 focus:ring-blue-500 dark:bg-gray-700 dark:text-white",
712
- placeholder: "\u7B80\u8981\u63CF\u8FF0\u8FD9\u4E2A\u914D\u7F6E\u7684\u7528\u9014..."
713
- }
714
- )), /* @__PURE__ */ React__default.default.createElement("div", null, /* @__PURE__ */ React__default.default.createElement("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300 mb-2" }, "\u6E38\u620F\u63CF\u8FF0"), /* @__PURE__ */ React__default.default.createElement(
715
- "input",
716
- {
717
- type: "text",
718
- value: editForm.gameDescription,
719
- onChange: (e) => setEditForm({ ...editForm, gameDescription: e.target.value }),
720
- className: "w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-lg focus:ring-2 focus:ring-blue-500 dark:bg-gray-700 dark:text-white",
721
- placeholder: "\u4F8B\u5982: \u957F\u6309\u6309\u94AE\uFF0C\u53D1\u73B0\u4F60\u7684\u4E13\u5C5E\u5C5E\u6027"
722
- }
723
- )), /* @__PURE__ */ React__default.default.createElement("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-4" }, /* @__PURE__ */ React__default.default.createElement("div", null, /* @__PURE__ */ React__default.default.createElement("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300 mb-2" }, "\u6309\u94AE\u6587\u672C"), /* @__PURE__ */ React__default.default.createElement(
724
- "input",
725
- {
726
- type: "text",
727
- value: editForm.buttonText,
728
- onChange: (e) => setEditForm({ ...editForm, buttonText: e.target.value }),
729
- className: "w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-lg focus:ring-2 focus:ring-blue-500 dark:bg-gray-700 dark:text-white"
730
- }
731
- )), /* @__PURE__ */ React__default.default.createElement("div", null, /* @__PURE__ */ React__default.default.createElement("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300 mb-2" }, "\u957F\u6309\u65F6\u95F4 (\u6BEB\u79D2)"), /* @__PURE__ */ React__default.default.createElement(
732
- "input",
733
- {
734
- type: "number",
735
- value: editForm.longPressDuration,
736
- onChange: (e) => setEditForm({ ...editForm, longPressDuration: parseInt(e.target.value) || 2e3 }),
737
- className: "w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-lg focus:ring-2 focus:ring-blue-500 dark:bg-gray-700 dark:text-white",
738
- min: "500",
739
- step: "100"
740
- }
741
- )))), /* @__PURE__ */ React__default.default.createElement("div", { className: "bg-white dark:bg-gray-800 rounded-lg p-6 shadow-sm border border-gray-200 dark:border-gray-700" }, /* @__PURE__ */ React__default.default.createElement("div", { className: "flex items-center justify-between mb-4" }, /* @__PURE__ */ React__default.default.createElement("h3", { className: "text-lg font-semibold text-gray-900 dark:text-white" }, "\u7ED3\u679C\u5217\u8868 (", editForm.results.length, ")"), /* @__PURE__ */ React__default.default.createElement("div", { className: "flex gap-2" }, /* @__PURE__ */ React__default.default.createElement(
742
- "button",
743
- {
744
- onClick: handleUseDefaultResults,
745
- className: "inline-flex items-center gap-2 px-3 py-1.5 text-sm bg-purple-50 dark:bg-purple-900 text-purple-600 dark:text-purple-200 rounded-lg hover:bg-purple-100 dark:hover:bg-purple-800"
746
- },
747
- "\u4F7F\u7528\u9ED8\u8BA4\u7ED3\u679C"
748
- ), /* @__PURE__ */ React__default.default.createElement(
749
- "button",
750
- {
751
- onClick: handleAddResult,
752
- className: "inline-flex items-center gap-2 px-3 py-1.5 text-sm bg-blue-50 dark:bg-blue-900 text-blue-600 dark:text-blue-200 rounded-lg hover:bg-blue-100 dark:hover:bg-blue-800"
753
- },
754
- /* @__PURE__ */ React__default.default.createElement(lucideReact.Plus, { className: "w-4 h-4" }),
755
- "\u6DFB\u52A0\u7ED3\u679C"
756
- ))), /* @__PURE__ */ React__default.default.createElement("div", { className: "space-y-3 max-h-[500px] overflow-y-auto" }, editForm.results.length === 0 ? /* @__PURE__ */ React__default.default.createElement("div", { className: "text-center py-8 text-gray-500 dark:text-gray-400" }, /* @__PURE__ */ React__default.default.createElement("p", null, "\u8FD8\u6CA1\u6709\u6DFB\u52A0\u4EFB\u4F55\u7ED3\u679C"), /* @__PURE__ */ React__default.default.createElement("p", { className: "text-sm mt-2" }, '\u70B9\u51FB"\u6DFB\u52A0\u7ED3\u679C"\u6216"\u4F7F\u7528\u9ED8\u8BA4\u7ED3\u679C"\u5F00\u59CB')) : editForm.results.map((result, index) => renderResultEditor(result, index)))), /* @__PURE__ */ React__default.default.createElement("div", { className: "flex items-center justify-end gap-3" }, /* @__PURE__ */ React__default.default.createElement(
757
- "button",
758
- {
759
- onClick: handleCancelEdit,
760
- className: "px-6 py-2 text-gray-700 dark:text-gray-300 border border-gray-300 dark:border-gray-600 rounded-lg hover:bg-gray-50 dark:hover:bg-gray-700"
761
- },
762
- "\u53D6\u6D88"
763
- ), /* @__PURE__ */ React__default.default.createElement(
764
- "button",
765
- {
766
- onClick: handleSave,
767
- className: "inline-flex items-center gap-2 px-6 py-2 bg-blue-600 text-white rounded-lg hover:bg-blue-700"
768
- },
769
- /* @__PURE__ */ React__default.default.createElement(lucideReact.Save, { className: "w-5 h-5" }),
770
- "\u4FDD\u5B58\u914D\u7F6E"
771
- )));
772
- if (loading) {
773
- return /* @__PURE__ */ React__default.default.createElement("div", { className: clsx.clsx("p-8", className) }, /* @__PURE__ */ React__default.default.createElement("div", { className: "text-center" }, /* @__PURE__ */ React__default.default.createElement("div", { className: "inline-block w-8 h-8 border-4 border-blue-600 border-t-transparent rounded-full animate-spin" }), /* @__PURE__ */ React__default.default.createElement("p", { className: "mt-2 text-gray-600 dark:text-gray-400" }, "\u52A0\u8F7D\u4E2D...")));
774
- }
775
- return /* @__PURE__ */ React__default.default.createElement("div", { className: clsx.clsx("p-6", className) }, error && /* @__PURE__ */ React__default.default.createElement("div", { className: "mb-4 p-4 bg-red-50 dark:bg-red-900/20 border border-red-200 dark:border-red-800 rounded-lg flex items-center gap-2 text-red-800 dark:text-red-200" }, /* @__PURE__ */ React__default.default.createElement(lucideReact.AlertCircle, { className: "w-5 h-5 flex-shrink-0" }), /* @__PURE__ */ React__default.default.createElement("span", null, error), /* @__PURE__ */ React__default.default.createElement("button", { onClick: () => setError(null), className: "ml-auto" }, /* @__PURE__ */ React__default.default.createElement(lucideReact.X, { className: "w-5 h-5" }))), success && /* @__PURE__ */ React__default.default.createElement("div", { className: "mb-4 p-4 bg-green-50 dark:bg-green-900/20 border border-green-200 dark:border-green-800 rounded-lg flex items-center gap-2 text-green-800 dark:text-green-200" }, /* @__PURE__ */ React__default.default.createElement(lucideReact.CheckCircle2, { className: "w-5 h-5 flex-shrink-0" }), /* @__PURE__ */ React__default.default.createElement("span", null, success), /* @__PURE__ */ React__default.default.createElement("button", { onClick: () => setSuccess(null), className: "ml-auto" }, /* @__PURE__ */ React__default.default.createElement(lucideReact.X, { className: "w-5 h-5" }))), isEditing ? renderEditForm() : /* @__PURE__ */ React__default.default.createElement(React__default.default.Fragment, null, /* @__PURE__ */ React__default.default.createElement("div", { className: "flex items-center justify-between mb-6" }, /* @__PURE__ */ React__default.default.createElement("h1", { className: "text-3xl font-bold text-gray-900 dark:text-white" }, "\u914D\u7F6E\u7BA1\u7406"), /* @__PURE__ */ React__default.default.createElement("div", { className: "flex gap-2" }, /* @__PURE__ */ React__default.default.createElement(
776
- "button",
777
- {
778
- onClick: handleImport,
779
- className: "inline-flex items-center gap-2 px-4 py-2 text-gray-700 dark:text-gray-300 border border-gray-300 dark:border-gray-600 rounded-lg hover:bg-gray-50 dark:hover:bg-gray-700"
780
- },
781
- /* @__PURE__ */ React__default.default.createElement(lucideReact.Upload, { className: "w-5 h-5" }),
782
- "\u5BFC\u5165"
783
- ), /* @__PURE__ */ React__default.default.createElement(
784
- "button",
785
- {
786
- onClick: handleStartCreate,
787
- className: "inline-flex items-center gap-2 px-4 py-2 bg-blue-600 text-white rounded-lg hover:bg-blue-700"
788
- },
789
- /* @__PURE__ */ React__default.default.createElement(lucideReact.Plus, { className: "w-5 h-5" }),
790
- "\u521B\u5EFA\u914D\u7F6E"
791
- ))), configs.length === 0 ? /* @__PURE__ */ React__default.default.createElement("div", { className: "text-center py-12 bg-white dark:bg-gray-800 rounded-lg border-2 border-dashed border-gray-300 dark:border-gray-700" }, /* @__PURE__ */ React__default.default.createElement("p", { className: "text-gray-600 dark:text-gray-400 mb-4" }, "\u8FD8\u6CA1\u6709\u4EFB\u4F55\u914D\u7F6E"), /* @__PURE__ */ React__default.default.createElement(
792
- "button",
793
- {
794
- onClick: handleStartCreate,
795
- className: "inline-flex items-center gap-2 px-6 py-3 bg-blue-600 text-white rounded-lg hover:bg-blue-700"
796
- },
797
- /* @__PURE__ */ React__default.default.createElement(lucideReact.Plus, { className: "w-5 h-5" }),
798
- "\u521B\u5EFA\u7B2C\u4E00\u4E2A\u914D\u7F6E"
799
- )) : renderConfigList()));
800
- };
801
- var ConfigList = ({
802
- configService,
803
- onSelect,
804
- onEdit,
805
- onDelete,
806
- showActions = true,
807
- showPreviewLink = false,
808
- previewBaseUrl = "/test-yourself",
809
- className = "",
810
- pageSize = 10
811
- }) => {
812
- const [configs, setConfigs] = React.useState([]);
813
- const [loading, setLoading] = React.useState(true);
814
- const [currentPage, setCurrentPage] = React.useState(1);
815
- const [searchTerm, setSearchTerm] = React.useState("");
816
- const loadConfigs = React.useCallback(async () => {
817
- try {
818
- setLoading(true);
819
- const list = await configService.getConfigList();
820
- setConfigs(list);
821
- } catch (error) {
822
- console.error("\u52A0\u8F7D\u914D\u7F6E\u5217\u8868\u5931\u8D25:", error);
823
- } finally {
824
- setLoading(false);
825
- }
826
- }, [configService]);
827
- React.useEffect(() => {
828
- loadConfigs();
829
- }, [loadConfigs]);
830
- const handleRefresh = () => {
831
- loadConfigs();
832
- };
833
- const handleSelect = (id) => {
834
- onSelect?.(id);
835
- };
836
- const handleEdit = (id) => {
837
- onEdit?.(id);
838
- };
839
- const handleDelete = async (id) => {
840
- if (!confirm("\u786E\u5B9A\u8981\u5220\u9664\u8FD9\u4E2A\u914D\u7F6E\u5417\uFF1F")) return;
841
- try {
842
- await configService.deleteConfig(id);
843
- await loadConfigs();
844
- onDelete?.(id);
845
- } catch (error) {
846
- console.error("\u5220\u9664\u914D\u7F6E\u5931\u8D25:", error);
847
- alert("\u5220\u9664\u5931\u8D25\uFF0C\u8BF7\u91CD\u8BD5");
848
- }
849
- };
850
- const handleDuplicate = async (id) => {
851
- try {
852
- await configService.duplicateConfig(id);
853
- await loadConfigs();
854
- } catch (error) {
855
- console.error("\u590D\u5236\u914D\u7F6E\u5931\u8D25:", error);
856
- alert("\u590D\u5236\u5931\u8D25\uFF0C\u8BF7\u91CD\u8BD5");
857
- }
858
- };
859
- const handleSetDefault = async (id) => {
860
- try {
861
- await configService.setDefaultConfig(id);
862
- await loadConfigs();
863
- } catch (error) {
864
- console.error("\u8BBE\u7F6E\u9ED8\u8BA4\u914D\u7F6E\u5931\u8D25:", error);
865
- alert("\u8BBE\u7F6E\u5931\u8D25\uFF0C\u8BF7\u91CD\u8BD5");
866
- }
867
- };
868
- const handleExport = async (id) => {
869
- try {
870
- const jsonString = await configService.exportConfig(id);
871
- const blob = new Blob([jsonString], { type: "application/json" });
872
- const url = URL.createObjectURL(blob);
873
- const a = document.createElement("a");
874
- a.href = url;
875
- a.download = "config_" + id + ".json";
876
- document.body.appendChild(a);
877
- a.click();
878
- document.body.removeChild(a);
879
- URL.revokeObjectURL(url);
880
- } catch (error) {
881
- console.error("\u5BFC\u51FA\u914D\u7F6E\u5931\u8D25:", error);
882
- alert("\u5BFC\u51FA\u5931\u8D25\uFF0C\u8BF7\u91CD\u8BD5");
883
- }
884
- };
885
- const getPreviewUrl = (id) => {
886
- return previewBaseUrl + "?configId=" + id;
887
- };
888
- const filteredConfigs = configs.filter((config) => {
889
- if (!searchTerm) return true;
890
- const term = searchTerm.toLowerCase();
891
- return config.name.toLowerCase().includes(term) || config.description?.toLowerCase().includes(term);
892
- });
893
- const totalPages = Math.ceil(filteredConfigs.length / pageSize);
894
- const startIndex = (currentPage - 1) * pageSize;
895
- const endIndex = startIndex + pageSize;
896
- const currentConfigs = filteredConfigs.slice(startIndex, endIndex);
897
- if (loading) {
898
- return /* @__PURE__ */ React__default.default.createElement("div", { className: clsx.clsx("p-8", className) }, /* @__PURE__ */ React__default.default.createElement("div", { className: "text-center" }, /* @__PURE__ */ React__default.default.createElement("div", { className: "inline-block w-8 h-8 border-4 border-blue-600 border-t-transparent rounded-full animate-spin" }), /* @__PURE__ */ React__default.default.createElement("p", { className: "mt-2 text-gray-600 dark:text-gray-400" }, "\u52A0\u8F7D\u4E2D...")));
899
- }
900
- return /* @__PURE__ */ React__default.default.createElement("div", { className }, /* @__PURE__ */ React__default.default.createElement("div", { className: "mb-4 flex items-center justify-between gap-4" }, /* @__PURE__ */ React__default.default.createElement("div", { className: "flex-1" }, /* @__PURE__ */ React__default.default.createElement(
901
- "input",
902
- {
903
- type: "text",
904
- placeholder: "\u641C\u7D22\u914D\u7F6E...",
905
- value: searchTerm,
906
- onChange: (e) => {
907
- setSearchTerm(e.target.value);
908
- setCurrentPage(1);
909
- },
910
- className: "w-full px-4 py-2 border border-gray-300 dark:border-gray-600 rounded-lg focus:ring-2 focus:ring-blue-500 dark:bg-gray-800 dark:text-white"
911
- }
912
- )), /* @__PURE__ */ React__default.default.createElement(
913
- "button",
914
- {
915
- onClick: handleRefresh,
916
- className: "p-2 text-gray-600 hover:text-gray-800 dark:text-gray-400 dark:hover:text-gray-200",
917
- title: "\u5237\u65B0"
918
- },
919
- /* @__PURE__ */ React__default.default.createElement(lucideReact.RefreshCw, { className: "w-5 h-5" })
920
- )), currentConfigs.length === 0 ? /* @__PURE__ */ React__default.default.createElement("div", { className: "text-center py-12 bg-gray-50 dark:bg-gray-800 rounded-lg border border-gray-200 dark:border-gray-700" }, /* @__PURE__ */ React__default.default.createElement("p", { className: "text-gray-600 dark:text-gray-400" }, searchTerm ? "\u6CA1\u6709\u627E\u5230\u5339\u914D\u7684\u914D\u7F6E" : "\u8FD8\u6CA1\u6709\u4EFB\u4F55\u914D\u7F6E")) : /* @__PURE__ */ React__default.default.createElement("div", { className: "space-y-3" }, currentConfigs.map((config) => /* @__PURE__ */ React__default.default.createElement(
921
- "div",
922
- {
923
- key: config.id,
924
- className: "bg-white dark:bg-gray-800 rounded-lg shadow-sm p-4 border border-gray-200 dark:border-gray-700 hover:shadow-md transition-shadow"
925
- },
926
- /* @__PURE__ */ React__default.default.createElement("div", { className: "flex items-start justify-between gap-4" }, /* @__PURE__ */ React__default.default.createElement(
927
- "div",
928
- {
929
- className: "flex-1 cursor-pointer",
930
- onClick: () => handleSelect(config.id)
931
- },
932
- /* @__PURE__ */ React__default.default.createElement("div", { className: "flex items-center gap-2 mb-1" }, /* @__PURE__ */ React__default.default.createElement("h3", { className: "text-lg font-semibold text-gray-900 dark:text-white" }, config.name), config.isDefault && /* @__PURE__ */ React__default.default.createElement("span", { className: "inline-flex items-center gap-1 px-2 py-0.5 rounded-full text-xs font-medium bg-yellow-100 text-yellow-800 dark:bg-yellow-900 dark:text-yellow-200" }, /* @__PURE__ */ React__default.default.createElement(lucideReact.Star, { className: "w-3 h-3" }), "\u9ED8\u8BA4")),
933
- config.description && /* @__PURE__ */ React__default.default.createElement("p", { className: "text-sm text-gray-600 dark:text-gray-400 mb-2" }, config.description),
934
- /* @__PURE__ */ React__default.default.createElement("div", { className: "flex items-center gap-4 text-xs text-gray-500 dark:text-gray-400" }, /* @__PURE__ */ React__default.default.createElement("span", null, "\u7ED3\u679C\u6570: ", config.resultCount), /* @__PURE__ */ React__default.default.createElement("span", null, "\u521B\u5EFA: ", new Date(config.createdAt).toLocaleDateString()), config.updatedAt !== config.createdAt && /* @__PURE__ */ React__default.default.createElement("span", null, "\u66F4\u65B0: ", new Date(config.updatedAt).toLocaleDateString()))
935
- ), showActions && /* @__PURE__ */ React__default.default.createElement("div", { className: "flex items-center gap-1" }, showPreviewLink && /* @__PURE__ */ React__default.default.createElement(
936
- "a",
937
- {
938
- href: getPreviewUrl(config.id),
939
- target: "_blank",
940
- rel: "noopener noreferrer",
941
- className: "p-2 text-gray-600 hover:text-blue-600 dark:text-gray-400 dark:hover:text-blue-400",
942
- title: "\u9884\u89C8"
943
- },
944
- /* @__PURE__ */ React__default.default.createElement(lucideReact.ExternalLink, { className: "w-4 h-4" })
945
- ), /* @__PURE__ */ React__default.default.createElement(
946
- "button",
947
- {
948
- onClick: () => handleSetDefault(config.id),
949
- disabled: config.isDefault,
950
- className: "p-2 text-gray-600 hover:text-yellow-600 disabled:opacity-50 disabled:cursor-not-allowed",
951
- title: "\u8BBE\u4E3A\u9ED8\u8BA4"
952
- },
953
- /* @__PURE__ */ React__default.default.createElement(lucideReact.Star, { className: "w-4 h-4" })
954
- ), /* @__PURE__ */ React__default.default.createElement(
955
- "button",
956
- {
957
- onClick: () => handleEdit(config.id),
958
- className: "p-2 text-gray-600 hover:text-blue-600",
959
- title: "\u7F16\u8F91"
960
- },
961
- /* @__PURE__ */ React__default.default.createElement(lucideReact.Edit, { className: "w-4 h-4" })
962
- ), /* @__PURE__ */ React__default.default.createElement(
963
- "button",
964
- {
965
- onClick: () => handleDuplicate(config.id),
966
- className: "p-2 text-gray-600 hover:text-green-600",
967
- title: "\u590D\u5236"
968
- },
969
- /* @__PURE__ */ React__default.default.createElement(lucideReact.Copy, { className: "w-4 h-4" })
970
- ), /* @__PURE__ */ React__default.default.createElement(
971
- "button",
972
- {
973
- onClick: () => handleExport(config.id),
974
- className: "p-2 text-gray-600 hover:text-purple-600",
975
- title: "\u5BFC\u51FA"
976
- },
977
- /* @__PURE__ */ React__default.default.createElement(lucideReact.Download, { className: "w-4 h-4" })
978
- ), /* @__PURE__ */ React__default.default.createElement(
979
- "button",
980
- {
981
- onClick: () => handleDelete(config.id),
982
- className: "p-2 text-gray-600 hover:text-red-600",
983
- title: "\u5220\u9664"
984
- },
985
- /* @__PURE__ */ React__default.default.createElement(lucideReact.Trash2, { className: "w-4 h-4" })
986
- )))
987
- ))), totalPages > 1 && /* @__PURE__ */ React__default.default.createElement("div", { className: "mt-4 flex items-center justify-between" }, /* @__PURE__ */ React__default.default.createElement("p", { className: "text-sm text-gray-600 dark:text-gray-400" }, "\u663E\u793A ", startIndex + 1, " - ", Math.min(endIndex, filteredConfigs.length), " \u5171", " ", filteredConfigs.length, " \u4E2A\u914D\u7F6E"), /* @__PURE__ */ React__default.default.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ React__default.default.createElement(
988
- "button",
989
- {
990
- onClick: () => setCurrentPage((p) => Math.max(1, p - 1)),
991
- disabled: currentPage === 1,
992
- className: "px-3 py-1 border border-gray-300 dark:border-gray-600 rounded-lg disabled:opacity-50 disabled:cursor-not-allowed hover:bg-gray-50 dark:hover:bg-gray-700"
993
- },
994
- "\u4E0A\u4E00\u9875"
995
- ), /* @__PURE__ */ React__default.default.createElement("span", { className: "text-sm text-gray-600 dark:text-gray-400" }, currentPage, " / ", totalPages), /* @__PURE__ */ React__default.default.createElement(
996
- "button",
997
- {
998
- onClick: () => setCurrentPage((p) => Math.min(totalPages, p + 1)),
999
- disabled: currentPage === totalPages,
1000
- className: "px-3 py-1 border border-gray-300 dark:border-gray-600 rounded-lg disabled:opacity-50 disabled:cursor-not-allowed hover:bg-gray-50 dark:hover:bg-gray-700"
1001
- },
1002
- "\u4E0B\u4E00\u9875"
1003
- ))));
1004
- };
1005
-
1006
- exports.ConfigList = ConfigList;
1007
- exports.ConfigManager = ConfigManager;
1008
- //# sourceMappingURL=index.js.map
1009
- //# sourceMappingURL=index.js.map