sa2kit 3.0.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 (980) hide show
  1. package/README.md +5 -5
  2. package/dist/AliyunOSSProvider-7IOT5U6M.js +15 -0
  3. package/dist/AliyunOSSProvider-7IOT5U6M.js.map +1 -0
  4. package/dist/AliyunOSSProvider-ZXZM7OQA.mjs +6 -0
  5. package/dist/AliyunOSSProvider-ZXZM7OQA.mjs.map +1 -0
  6. package/dist/LocalStorageProvider-KJKRCKBS.js +15 -0
  7. package/dist/LocalStorageProvider-KJKRCKBS.js.map +1 -0
  8. package/dist/LocalStorageProvider-O22465NY.mjs +6 -0
  9. package/dist/LocalStorageProvider-O22465NY.mjs.map +1 -0
  10. package/dist/chunk-2234T4A6.js +303 -0
  11. package/dist/chunk-2234T4A6.js.map +1 -0
  12. package/dist/chunk-36KGNXKW.js +16 -0
  13. package/dist/chunk-36KGNXKW.js.map +1 -0
  14. package/dist/chunk-375C7WL7.js +2695 -0
  15. package/dist/chunk-375C7WL7.js.map +1 -0
  16. package/dist/chunk-3J24Z4MB.js +991 -0
  17. package/dist/chunk-3J24Z4MB.js.map +1 -0
  18. package/dist/chunk-3QCATFQV.js +43 -0
  19. package/dist/chunk-3QCATFQV.js.map +1 -0
  20. package/dist/chunk-3R6JHA6D.js +120 -0
  21. package/dist/chunk-3R6JHA6D.js.map +1 -0
  22. package/dist/chunk-4OXKHV7J.js +43 -0
  23. package/dist/chunk-4OXKHV7J.js.map +1 -0
  24. package/dist/chunk-4PJM4752.js +4 -0
  25. package/dist/chunk-4PJM4752.js.map +1 -0
  26. package/dist/chunk-65JRVC3F.mjs +54 -0
  27. package/dist/chunk-65JRVC3F.mjs.map +1 -0
  28. package/dist/chunk-6HL54I2B.js +336 -0
  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-6YLCRWKM.mjs +8 -0
  33. package/dist/chunk-6YLCRWKM.mjs.map +1 -0
  34. package/dist/chunk-7CRU2Y5X.mjs +152 -0
  35. package/dist/chunk-7CRU2Y5X.mjs.map +1 -0
  36. package/dist/chunk-7PMT4L4I.js +324 -0
  37. package/dist/chunk-7PMT4L4I.js.map +1 -0
  38. package/dist/chunk-7VVZHFEM.js +88 -0
  39. package/dist/chunk-7VVZHFEM.js.map +1 -0
  40. package/dist/chunk-AWHGIKTQ.js +56 -0
  41. package/dist/chunk-AWHGIKTQ.js.map +1 -0
  42. package/dist/chunk-B3GYF6TY.js +37 -0
  43. package/dist/chunk-B3GYF6TY.js.map +1 -0
  44. package/dist/chunk-BDBJFOXM.mjs +14 -0
  45. package/dist/chunk-BDBJFOXM.mjs.map +1 -0
  46. package/dist/chunk-BTW3SWQN.mjs +25 -0
  47. package/dist/chunk-BTW3SWQN.mjs.map +1 -0
  48. package/dist/chunk-CHYSSZ4E.mjs +734 -0
  49. package/dist/chunk-CHYSSZ4E.mjs.map +1 -0
  50. package/dist/chunk-DO6QYAZV.mjs +298 -0
  51. package/dist/chunk-DO6QYAZV.mjs.map +1 -0
  52. package/dist/chunk-DTR53LQO.mjs +781 -0
  53. package/dist/chunk-DTR53LQO.mjs.map +1 -0
  54. package/dist/chunk-EI2S4XDG.mjs +89 -0
  55. package/dist/chunk-EI2S4XDG.mjs.map +1 -0
  56. package/dist/chunk-EOZHUI46.js +93 -0
  57. package/dist/chunk-EOZHUI46.js.map +1 -0
  58. package/dist/chunk-F2BZIU67.js +184 -0
  59. package/dist/chunk-F2BZIU67.js.map +1 -0
  60. package/dist/chunk-F2TEJSCP.js +756 -0
  61. package/dist/chunk-F2TEJSCP.js.map +1 -0
  62. package/dist/chunk-FCLS5R24.js +148 -0
  63. package/dist/chunk-FCLS5R24.js.map +1 -0
  64. package/dist/chunk-FUA6ZGMI.mjs +376 -0
  65. package/dist/chunk-FUA6ZGMI.mjs.map +1 -0
  66. package/dist/chunk-FY2X3LYR.mjs +3 -0
  67. package/dist/chunk-FY2X3LYR.mjs.map +1 -0
  68. package/dist/chunk-GS4SAW25.mjs +116 -0
  69. package/dist/chunk-GS4SAW25.mjs.map +1 -0
  70. package/dist/chunk-H56ICWUO.js +321 -0
  71. package/dist/chunk-H56ICWUO.js.map +1 -0
  72. package/dist/chunk-HG34SGMN.mjs +546 -0
  73. package/dist/chunk-HG34SGMN.mjs.map +1 -0
  74. package/dist/chunk-HL4H2HF6.js +279 -0
  75. package/dist/chunk-HL4H2HF6.js.map +1 -0
  76. package/dist/chunk-IJIQUMAK.mjs +272 -0
  77. package/dist/chunk-IJIQUMAK.mjs.map +1 -0
  78. package/dist/chunk-KEZFTDZT.mjs +559 -0
  79. package/dist/chunk-KEZFTDZT.mjs.map +1 -0
  80. package/dist/chunk-KHOVC2KL.js +144 -0
  81. package/dist/chunk-KHOVC2KL.js.map +1 -0
  82. package/dist/chunk-KRBSTLKC.js +6154 -0
  83. package/dist/chunk-KRBSTLKC.js.map +1 -0
  84. package/dist/chunk-KVYHCGRY.js +2011 -0
  85. package/dist/chunk-KVYHCGRY.js.map +1 -0
  86. package/dist/chunk-LZ5YTMMP.mjs +41 -0
  87. package/dist/chunk-LZ5YTMMP.mjs.map +1 -0
  88. package/dist/chunk-MJ6XJGAL.js +1551 -0
  89. package/dist/chunk-MJ6XJGAL.js.map +1 -0
  90. package/dist/chunk-MKLXCV4Z.mjs +1510 -0
  91. package/dist/chunk-MKLXCV4Z.mjs.map +1 -0
  92. package/dist/chunk-MMDSZIXD.mjs +286 -0
  93. package/dist/chunk-MMDSZIXD.mjs.map +1 -0
  94. package/dist/chunk-N2O3OX5Y.mjs +243 -0
  95. package/dist/chunk-N2O3OX5Y.mjs.map +1 -0
  96. package/dist/chunk-O6NNSPWD.mjs +35 -0
  97. package/dist/chunk-O6NNSPWD.mjs.map +1 -0
  98. package/dist/chunk-OIRZXSYM.js +80 -0
  99. package/dist/chunk-OIRZXSYM.js.map +1 -0
  100. package/dist/chunk-P7JQRNBJ.mjs +76 -0
  101. package/dist/chunk-P7JQRNBJ.mjs.map +1 -0
  102. package/dist/chunk-PA4ELVGI.js +20 -0
  103. package/dist/chunk-PA4ELVGI.js.map +1 -0
  104. package/dist/chunk-PLIG5257.mjs +2613 -0
  105. package/dist/chunk-PLIG5257.mjs.map +1 -0
  106. package/dist/chunk-QIF4MG5V.mjs +283 -0
  107. package/dist/chunk-QIF4MG5V.mjs.map +1 -0
  108. package/dist/chunk-RHECN4E2.mjs +6077 -0
  109. package/dist/chunk-RHECN4E2.mjs.map +1 -0
  110. package/dist/chunk-RHHTZTIN.mjs +314 -0
  111. package/dist/chunk-RHHTZTIN.mjs.map +1 -0
  112. package/dist/chunk-RRQ2X26Z.js +106 -0
  113. package/dist/chunk-RRQ2X26Z.js.map +1 -0
  114. package/dist/chunk-RST2T54Y.js +836 -0
  115. package/dist/chunk-RST2T54Y.js.map +1 -0
  116. package/dist/chunk-RVNQI6BI.js +249 -0
  117. package/dist/chunk-RVNQI6BI.js.map +1 -0
  118. package/dist/chunk-S3K4LTRI.mjs +226 -0
  119. package/dist/chunk-S3K4LTRI.mjs.map +1 -0
  120. package/dist/chunk-SWZ5XNF6.js +158 -0
  121. package/dist/chunk-SWZ5XNF6.js.map +1 -0
  122. package/dist/chunk-TNJ6LYX7.mjs +18 -0
  123. package/dist/chunk-TNJ6LYX7.mjs.map +1 -0
  124. package/dist/chunk-U7HNBCBS.js +207 -0
  125. package/dist/chunk-U7HNBCBS.js.map +1 -0
  126. package/dist/chunk-UJS3YSD3.mjs +37 -0
  127. package/dist/chunk-UJS3YSD3.mjs.map +1 -0
  128. package/dist/chunk-UJUWDF7M.mjs +336 -0
  129. package/dist/chunk-UJUWDF7M.mjs.map +1 -0
  130. package/dist/chunk-UR5NENGE.js +78 -0
  131. package/dist/chunk-UR5NENGE.js.map +1 -0
  132. package/dist/chunk-V7HGBDCB.mjs +135 -0
  133. package/dist/chunk-V7HGBDCB.mjs.map +1 -0
  134. package/dist/chunk-V7RLIZMN.js +90 -0
  135. package/dist/chunk-V7RLIZMN.js.map +1 -0
  136. package/dist/chunk-VCKXK6V5.js +345 -0
  137. package/dist/chunk-VCKXK6V5.js.map +1 -0
  138. package/dist/chunk-VIEXDTNF.mjs +100 -0
  139. package/dist/chunk-VIEXDTNF.mjs.map +1 -0
  140. package/dist/chunk-VN2DULIA.js +579 -0
  141. package/dist/chunk-VN2DULIA.js.map +1 -0
  142. package/dist/chunk-VNWMRUY6.js +168 -0
  143. package/dist/chunk-VNWMRUY6.js.map +1 -0
  144. package/dist/chunk-VYK4M2D6.mjs +177 -0
  145. package/dist/chunk-VYK4M2D6.mjs.map +1 -0
  146. package/dist/chunk-WB4H6ZUW.mjs +86 -0
  147. package/dist/chunk-WB4H6ZUW.mjs.map +1 -0
  148. package/dist/chunk-WM3AEJ2E.mjs +981 -0
  149. package/dist/chunk-WM3AEJ2E.mjs.map +1 -0
  150. package/dist/chunk-X5GINUGI.mjs +162 -0
  151. package/dist/chunk-X5GINUGI.mjs.map +1 -0
  152. package/dist/chunk-XB7GUEHZ.mjs +82 -0
  153. package/dist/chunk-XB7GUEHZ.mjs.map +1 -0
  154. package/dist/chunk-XE5RGZ3B.js +242 -0
  155. package/dist/chunk-XE5RGZ3B.js.map +1 -0
  156. package/dist/chunk-XNTIMVSL.mjs +193 -0
  157. package/dist/chunk-XNTIMVSL.mjs.map +1 -0
  158. package/dist/chunk-Y7WHUKJF.js +387 -0
  159. package/dist/chunk-Y7WHUKJF.js.map +1 -0
  160. package/dist/chunk-YIRPPMCN.mjs +1916 -0
  161. package/dist/chunk-YIRPPMCN.mjs.map +1 -0
  162. package/dist/chunk-YTGUIRRH.js +10 -0
  163. package/dist/chunk-YTGUIRRH.js.map +1 -0
  164. package/dist/chunk-Z2SNB5LJ.js +28 -0
  165. package/dist/chunk-Z2SNB5LJ.js.map +1 -0
  166. package/dist/chunk-ZOP7YIVX.js +552 -0
  167. package/dist/chunk-ZOP7YIVX.js.map +1 -0
  168. package/dist/chunk-ZUZLWHH5.mjs +146 -0
  169. package/dist/chunk-ZUZLWHH5.mjs.map +1 -0
  170. package/dist/common/ai/llm/core/index.d.mts +70 -0
  171. package/dist/common/ai/llm/core/index.d.ts +70 -0
  172. package/dist/common/ai/llm/core/index.js +54 -0
  173. package/dist/common/ai/llm/core/index.mjs +5 -0
  174. package/dist/common/ai/llm/electron/index.d.mts +6 -0
  175. package/dist/common/ai/llm/electron/index.d.ts +6 -0
  176. package/dist/common/ai/llm/electron/index.js +67 -0
  177. package/dist/common/ai/llm/electron/index.mjs +10 -0
  178. package/dist/common/ai/llm/index.d.mts +3 -0
  179. package/dist/common/ai/llm/index.d.ts +3 -0
  180. package/dist/common/ai/llm/index.js +54 -0
  181. package/dist/common/ai/llm/index.mjs +5 -0
  182. package/dist/common/ai/llm/miniapp/index.d.mts +6 -0
  183. package/dist/common/ai/llm/miniapp/index.d.ts +6 -0
  184. package/dist/common/ai/llm/miniapp/index.js +59 -0
  185. package/dist/common/ai/llm/miniapp/index.mjs +6 -0
  186. package/dist/common/ai/llm/rn/index.d.mts +6 -0
  187. package/dist/common/ai/llm/rn/index.d.ts +6 -0
  188. package/dist/common/ai/llm/rn/index.js +59 -0
  189. package/dist/common/ai/llm/rn/index.mjs +6 -0
  190. package/dist/common/ai/llm/ui/electron/index.d.mts +5 -0
  191. package/dist/common/ai/llm/ui/electron/index.d.ts +5 -0
  192. package/dist/common/ai/llm/ui/electron/index.js +22 -0
  193. package/dist/common/ai/llm/ui/electron/index.mjs +9 -0
  194. package/dist/common/ai/llm/ui/miniapp/index.d.mts +9 -0
  195. package/dist/common/ai/llm/ui/miniapp/index.d.ts +9 -0
  196. package/dist/common/ai/llm/ui/miniapp/index.js +14 -0
  197. package/dist/common/ai/llm/ui/miniapp/index.mjs +5 -0
  198. package/dist/common/ai/llm/ui/rn/index.d.mts +9 -0
  199. package/dist/common/ai/llm/ui/rn/index.d.ts +9 -0
  200. package/dist/common/ai/llm/ui/rn/index.js +14 -0
  201. package/dist/common/ai/llm/ui/rn/index.mjs +5 -0
  202. package/dist/common/ai/llm/ui/web/index.d.mts +15 -0
  203. package/dist/common/ai/llm/ui/web/index.d.ts +15 -0
  204. package/dist/common/ai/llm/ui/web/index.js +21 -0
  205. package/dist/common/ai/llm/ui/web/index.mjs +8 -0
  206. package/dist/common/ai/llm/web/index.d.mts +6 -0
  207. package/dist/common/ai/llm/web/index.d.ts +6 -0
  208. package/dist/common/ai/llm/web/index.js +66 -0
  209. package/dist/common/ai/llm/web/index.mjs +9 -0
  210. package/dist/common/analytics/index.d.mts +2 -0
  211. package/dist/common/analytics/index.d.ts +2 -0
  212. package/dist/common/analytics/index.js +314 -0
  213. package/dist/common/analytics/index.mjs +5 -0
  214. package/dist/common/analytics/server/index.js +529 -0
  215. package/dist/common/analytics/server/index.js.map +1 -0
  216. package/dist/common/analytics/server/index.mjs +525 -0
  217. package/dist/common/analytics/server/index.mjs.map +1 -0
  218. package/dist/common/api/index.d.mts +3 -0
  219. package/dist/common/api/index.d.ts +3 -0
  220. package/dist/common/api/index.js +21 -0
  221. package/dist/common/api/index.mjs +4 -0
  222. package/dist/common/auth/client/index.d.mts +1 -31
  223. package/dist/common/auth/client/index.d.ts +1 -31
  224. package/dist/common/auth/client/index.js +2 -15
  225. package/dist/common/auth/client/index.mjs +1 -2
  226. package/dist/common/auth/components/index.d.mts +5 -239
  227. package/dist/common/auth/components/index.d.ts +5 -239
  228. package/dist/common/auth/components/index.js +878 -49
  229. package/dist/common/auth/components/index.js.map +1 -1
  230. package/dist/common/auth/components/index.mjs +871 -5
  231. package/dist/common/auth/components/index.mjs.map +1 -1
  232. package/dist/common/auth/hooks/index.d.mts +2 -29
  233. package/dist/common/auth/hooks/index.d.ts +2 -29
  234. package/dist/common/auth/hooks/index.js +2 -11
  235. package/dist/common/auth/hooks/index.mjs +1 -2
  236. package/dist/common/auth/index.d.mts +5 -9
  237. package/dist/common/auth/index.d.ts +5 -9
  238. package/dist/common/auth/index.js +5 -26
  239. package/dist/common/auth/index.mjs +3 -4
  240. package/dist/common/auth/rn/index.d.mts +1 -17
  241. package/dist/common/auth/rn/index.d.ts +1 -17
  242. package/dist/common/auth/rn/index.js +2 -34
  243. package/dist/common/auth/rn/index.js.map +1 -1
  244. package/dist/common/auth/rn/index.mjs +2 -31
  245. package/dist/common/auth/rn/index.mjs.map +1 -1
  246. package/dist/common/auth/server/index.d.mts +81 -2
  247. package/dist/common/auth/server/index.d.ts +81 -2
  248. package/dist/common/auth/server/index.js +128 -37
  249. package/dist/common/auth/server/index.js.map +1 -1
  250. package/dist/common/auth/server/index.mjs +124 -1
  251. package/dist/common/auth/server/index.mjs.map +1 -1
  252. package/dist/common/auth/services/index.js +12 -9
  253. package/dist/common/auth/services/index.js.map +1 -1
  254. package/dist/common/auth/services/index.mjs +10 -1
  255. package/dist/common/auth/services/index.mjs.map +1 -1
  256. package/dist/common/components/index.d.mts +4 -0
  257. package/dist/common/components/index.d.ts +4 -0
  258. package/dist/common/components/index.js +414 -0
  259. package/dist/common/components/index.mjs +9 -0
  260. package/dist/common/config/index.d.mts +1 -0
  261. package/dist/common/config/index.d.ts +1 -0
  262. package/dist/common/config/index.js +21 -0
  263. package/dist/common/config/index.mjs +4 -0
  264. package/dist/common/config/server/index.js +1177 -0
  265. package/dist/common/config/server/index.js.map +1 -0
  266. package/dist/common/config/server/index.mjs +1138 -0
  267. package/dist/common/config/server/index.mjs.map +1 -0
  268. package/dist/common/export/index.d.mts +2 -2
  269. package/dist/common/export/index.d.ts +2 -2
  270. package/dist/common/export/index.js +67 -67
  271. package/dist/common/export/index.mjs +3 -3
  272. package/dist/common/export/server/index.d.mts +2 -2
  273. package/dist/common/export/server/index.d.ts +2 -2
  274. package/dist/common/export/server/index.js +76 -48
  275. package/dist/common/export/server/index.mjs +3 -3
  276. package/dist/common/file/index.d.mts +2 -2
  277. package/dist/common/file/index.d.ts +2 -2
  278. package/dist/common/file/index.js +27 -27
  279. package/dist/common/file/index.mjs +5 -5
  280. package/dist/common/file/server/index.d.mts +2 -2
  281. package/dist/common/file/server/index.d.ts +2 -2
  282. package/dist/common/file/server/index.js +58 -50
  283. package/dist/common/file/server/index.mjs +8 -8
  284. package/dist/common/i18n/index.d.mts +2 -0
  285. package/dist/common/i18n/index.d.ts +2 -0
  286. package/dist/common/i18n/index.js +73 -0
  287. package/dist/common/i18n/index.mjs +4 -0
  288. package/dist/common/imageCrop/index.d.mts +2 -0
  289. package/dist/common/imageCrop/index.d.ts +2 -0
  290. package/dist/common/imageCrop/index.js +61 -0
  291. package/dist/common/imageCrop/index.mjs +4 -0
  292. package/dist/common/index.d.mts +17 -20
  293. package/dist/common/index.d.ts +17 -20
  294. package/dist/common/index.js +76 -70
  295. package/dist/common/index.mjs +27 -29
  296. package/dist/common/logger/index.d.mts +1 -1
  297. package/dist/common/logger/index.d.ts +1 -1
  298. package/dist/common/logger/index.js +6 -7
  299. package/dist/common/logger/index.mjs +1 -2
  300. package/dist/common/ossFile/index.d.mts +61 -0
  301. package/dist/common/ossFile/index.d.ts +61 -0
  302. package/dist/common/ossFile/index.js +96 -0
  303. package/dist/common/ossFile/index.mjs +7 -0
  304. package/dist/common/ossFile/server/index.d.mts +94 -0
  305. package/dist/common/ossFile/server/index.d.ts +94 -0
  306. package/dist/common/ossFile/server/index.js +221 -0
  307. package/dist/common/ossFile/server/index.mjs +12 -0
  308. package/dist/common/platform/index.js +8 -8
  309. package/dist/common/platform/index.mjs +4 -4
  310. package/dist/common/request/index.d.mts +1 -1
  311. package/dist/common/request/index.d.ts +1 -1
  312. package/dist/common/request/index.js +5 -7
  313. package/dist/common/request/index.mjs +2 -4
  314. package/dist/common/storage/index.d.mts +1 -1
  315. package/dist/common/storage/index.d.ts +1 -1
  316. package/dist/common/storage/index.js +17 -17
  317. package/dist/common/storage/index.mjs +5 -5
  318. package/dist/common/universalExport/index.d.mts +232 -0
  319. package/dist/common/universalExport/index.d.ts +232 -0
  320. package/dist/common/universalExport/index.js +178 -0
  321. package/dist/common/universalExport/index.mjs +5 -0
  322. package/dist/common/universalExport/server/index.d.mts +1189 -0
  323. package/dist/common/universalExport/server/index.d.ts +1189 -0
  324. package/dist/common/universalExport/server/index.js +151 -0
  325. package/dist/common/universalExport/server/index.mjs +6 -0
  326. package/dist/common/universalFile/index.d.mts +409 -0
  327. package/dist/common/universalFile/index.d.ts +409 -0
  328. package/dist/common/universalFile/index.js +1742 -0
  329. package/dist/common/universalFile/index.js.map +1 -0
  330. package/dist/common/universalFile/index.mjs +1497 -0
  331. package/dist/common/universalFile/index.mjs.map +1 -0
  332. package/dist/common/universalFile/server/index.d.mts +1064 -0
  333. package/dist/common/universalFile/server/index.d.ts +1064 -0
  334. package/dist/common/universalFile/server/index.js +311 -0
  335. package/dist/common/universalFile/server/index.mjs +10 -0
  336. package/dist/common/utils/index.d.mts +1 -1
  337. package/dist/common/utils/index.d.ts +1 -1
  338. package/dist/common/utils/index.js +11 -12
  339. package/dist/common/utils/index.mjs +2 -3
  340. package/dist/index-BRLygK4h.d.ts +67 -0
  341. package/dist/index-BWNK5mH2.d.ts +76 -0
  342. package/dist/index-Bd7cKF1j.d.mts +50 -0
  343. package/dist/index-BiCK6gg6.d.mts +210 -0
  344. package/dist/index-BiCK6gg6.d.ts +210 -0
  345. package/dist/index-C-P2yBTH.d.mts +76 -0
  346. package/dist/index-CT4K2z-O.d.ts +81 -0
  347. package/dist/index-D6RJTGce.d.mts +81 -0
  348. package/dist/index-DA7L9JlE.d.mts +159 -0
  349. package/dist/index-DRQxtCDw.d.ts +50 -0
  350. package/dist/index-DXVph21C.d.mts +201 -0
  351. package/dist/index-DXVph21C.d.ts +201 -0
  352. package/dist/index-DzyK789B.d.mts +67 -0
  353. package/dist/index-FVJZCEtm.d.mts +145 -0
  354. package/dist/index-FVJZCEtm.d.ts +145 -0
  355. package/dist/index-nD9vPCZT.d.ts +159 -0
  356. package/dist/index-nOmIv2BG.d.mts +559 -0
  357. package/dist/index-nOmIv2BG.d.ts +559 -0
  358. package/dist/path-Bzc7hj1N.d.ts +45 -0
  359. package/dist/path-DN_65vhO.d.mts +45 -0
  360. package/dist/utils-Dm3O1rAa.d.mts +366 -0
  361. package/dist/utils-Dm3O1rAa.d.ts +366 -0
  362. package/package.json +293 -348
  363. package/dist/AliyunOSSProvider-4GRL2FJB.js +0 -15
  364. package/dist/AliyunOSSProvider-4GRL2FJB.js.map +0 -1
  365. package/dist/AliyunOSSProvider-QNVFIZ7Q.mjs +0 -6
  366. package/dist/AliyunOSSProvider-QNVFIZ7Q.mjs.map +0 -1
  367. package/dist/CollisionBalls-BpHufX3H.d.mts +0 -41
  368. package/dist/CollisionBalls-BpHufX3H.d.ts +0 -41
  369. package/dist/ConfigService-BxK06xP6.d.mts +0 -262
  370. package/dist/ConfigService-BxK06xP6.d.ts +0 -262
  371. package/dist/LocalStorageProvider-J5RHV37G.mjs +0 -6
  372. package/dist/LocalStorageProvider-J5RHV37G.mjs.map +0 -1
  373. package/dist/LocalStorageProvider-PFA2DMIJ.js +0 -15
  374. package/dist/LocalStorageProvider-PFA2DMIJ.js.map +0 -1
  375. package/dist/UniversalFileService-CC4d3wkc.d.ts +0 -139
  376. package/dist/UniversalFileService-CzAE_G4V.d.mts +0 -139
  377. package/dist/ai/llm/core/index.d.mts +0 -70
  378. package/dist/ai/llm/core/index.d.ts +0 -70
  379. package/dist/ai/llm/core/index.js +0 -54
  380. package/dist/ai/llm/core/index.mjs +0 -5
  381. package/dist/ai/llm/electron/index.d.mts +0 -6
  382. package/dist/ai/llm/electron/index.d.ts +0 -6
  383. package/dist/ai/llm/electron/index.js +0 -66
  384. package/dist/ai/llm/electron/index.mjs +0 -9
  385. package/dist/ai/llm/index.d.mts +0 -3
  386. package/dist/ai/llm/index.d.ts +0 -3
  387. package/dist/ai/llm/index.js +0 -54
  388. package/dist/ai/llm/index.mjs +0 -5
  389. package/dist/ai/llm/miniapp/index.d.mts +0 -6
  390. package/dist/ai/llm/miniapp/index.d.ts +0 -6
  391. package/dist/ai/llm/miniapp/index.js +0 -59
  392. package/dist/ai/llm/miniapp/index.mjs +0 -6
  393. package/dist/ai/llm/rn/index.d.mts +0 -6
  394. package/dist/ai/llm/rn/index.d.ts +0 -6
  395. package/dist/ai/llm/rn/index.js +0 -59
  396. package/dist/ai/llm/rn/index.mjs +0 -6
  397. package/dist/ai/llm/ui/electron/index.d.mts +0 -5
  398. package/dist/ai/llm/ui/electron/index.d.ts +0 -5
  399. package/dist/ai/llm/ui/electron/index.js +0 -21
  400. package/dist/ai/llm/ui/electron/index.mjs +0 -8
  401. package/dist/ai/llm/ui/miniapp/index.d.mts +0 -9
  402. package/dist/ai/llm/ui/miniapp/index.d.ts +0 -9
  403. package/dist/ai/llm/ui/miniapp/index.js +0 -14
  404. package/dist/ai/llm/ui/miniapp/index.mjs +0 -5
  405. package/dist/ai/llm/ui/rn/index.d.mts +0 -9
  406. package/dist/ai/llm/ui/rn/index.d.ts +0 -9
  407. package/dist/ai/llm/ui/rn/index.js +0 -14
  408. package/dist/ai/llm/ui/rn/index.mjs +0 -5
  409. package/dist/ai/llm/ui/web/index.d.mts +0 -15
  410. package/dist/ai/llm/ui/web/index.d.ts +0 -15
  411. package/dist/ai/llm/ui/web/index.js +0 -20
  412. package/dist/ai/llm/ui/web/index.mjs +0 -7
  413. package/dist/ai/llm/web/index.d.mts +0 -6
  414. package/dist/ai/llm/web/index.d.ts +0 -6
  415. package/dist/ai/llm/web/index.js +0 -65
  416. package/dist/ai/llm/web/index.mjs +0 -8
  417. package/dist/analytics/index.d.mts +0 -2
  418. package/dist/analytics/index.d.ts +0 -2
  419. package/dist/analytics/index.js +0 -314
  420. package/dist/analytics/index.mjs +0 -5
  421. package/dist/analytics/server/index.js +0 -529
  422. package/dist/analytics/server/index.js.map +0 -1
  423. package/dist/analytics/server/index.mjs +0 -525
  424. package/dist/analytics/server/index.mjs.map +0 -1
  425. package/dist/api/index.d.mts +0 -3
  426. package/dist/api/index.d.ts +0 -3
  427. package/dist/api/index.js +0 -21
  428. package/dist/api/index.mjs +0 -4
  429. package/dist/audioDetection/index.d.mts +0 -449
  430. package/dist/audioDetection/index.d.ts +0 -449
  431. package/dist/audioDetection/index.js +0 -1244
  432. package/dist/audioDetection/index.js.map +0 -1
  433. package/dist/audioDetection/index.mjs +0 -1227
  434. package/dist/audioDetection/index.mjs.map +0 -1
  435. package/dist/auth/client/index.d.mts +0 -13
  436. package/dist/auth/client/index.d.ts +0 -13
  437. package/dist/auth/client/index.js +0 -26
  438. package/dist/auth/client/index.mjs +0 -5
  439. package/dist/auth/components/index.d.mts +0 -10
  440. package/dist/auth/components/index.d.ts +0 -10
  441. package/dist/auth/components/index.js +0 -70
  442. package/dist/auth/components/index.mjs +0 -9
  443. package/dist/auth/hooks/index.d.mts +0 -13
  444. package/dist/auth/hooks/index.d.ts +0 -13
  445. package/dist/auth/hooks/index.js +0 -28
  446. package/dist/auth/hooks/index.mjs +0 -7
  447. package/dist/auth/index.d.mts +0 -21
  448. package/dist/auth/index.d.ts +0 -21
  449. package/dist/auth/index.js +0 -112
  450. package/dist/auth/index.mjs +0 -11
  451. package/dist/auth/rn/index.d.mts +0 -3133
  452. package/dist/auth/rn/index.d.ts +0 -3133
  453. package/dist/auth/rn/index.js +0 -684
  454. package/dist/auth/rn/index.js.map +0 -1
  455. package/dist/auth/rn/index.mjs +0 -663
  456. package/dist/auth/rn/index.mjs.map +0 -1
  457. package/dist/auth/schema/index.d.mts +0 -4
  458. package/dist/auth/schema/index.d.ts +0 -4
  459. package/dist/auth/schema/index.js +0 -49
  460. package/dist/auth/schema/index.mjs +0 -4
  461. package/dist/auth/services/index.d.mts +0 -1
  462. package/dist/auth/services/index.d.ts +0 -1
  463. package/dist/auth/services/index.js +0 -17
  464. package/dist/auth/services/index.mjs +0 -4
  465. package/dist/base-api-client-BpmcQt4Q.d.ts +0 -103
  466. package/dist/base-api-client-CFIhZK4C.d.mts +0 -277
  467. package/dist/base-api-client-CFIhZK4C.d.ts +0 -277
  468. package/dist/base-api-client-DXLsq2yz.d.mts +0 -103
  469. package/dist/boothVaultService-Cn4WPhjg.d.mts +0 -83
  470. package/dist/boothVaultService-Cn4WPhjg.d.ts +0 -83
  471. package/dist/business/index.d.mts +0 -2
  472. package/dist/business/index.d.ts +0 -2
  473. package/dist/business/index.js +0 -581
  474. package/dist/business/index.js.map +0 -1
  475. package/dist/business/index.mjs +0 -575
  476. package/dist/business/index.mjs.map +0 -1
  477. package/dist/calendar/index.d.mts +0 -1325
  478. package/dist/calendar/index.d.ts +0 -1325
  479. package/dist/calendar/index.js +0 -5964
  480. package/dist/calendar/index.js.map +0 -1
  481. package/dist/calendar/index.mjs +0 -5878
  482. package/dist/calendar/index.mjs.map +0 -1
  483. package/dist/calendar/routes/index.d.mts +0 -191
  484. package/dist/calendar/routes/index.d.ts +0 -191
  485. package/dist/calendar/routes/index.js +0 -844
  486. package/dist/calendar/routes/index.js.map +0 -1
  487. package/dist/calendar/routes/index.mjs +0 -826
  488. package/dist/calendar/routes/index.mjs.map +0 -1
  489. package/dist/chunk-25OFOKNF.js +0 -171
  490. package/dist/chunk-25OFOKNF.js.map +0 -1
  491. package/dist/chunk-2Y7BKFKZ.js +0 -37
  492. package/dist/chunk-2Y7BKFKZ.js.map +0 -1
  493. package/dist/chunk-3DXPQ4YV.mjs +0 -165
  494. package/dist/chunk-3DXPQ4YV.mjs.map +0 -1
  495. package/dist/chunk-3FRAIS4T.mjs +0 -35
  496. package/dist/chunk-3FRAIS4T.mjs.map +0 -1
  497. package/dist/chunk-3NHAT7D4.mjs +0 -361
  498. package/dist/chunk-3NHAT7D4.mjs.map +0 -1
  499. package/dist/chunk-3Z43XGA4.mjs +0 -54
  500. package/dist/chunk-3Z43XGA4.mjs.map +0 -1
  501. package/dist/chunk-4FDUURSD.js +0 -22
  502. package/dist/chunk-4FDUURSD.js.map +0 -1
  503. package/dist/chunk-4WBCWJSN.js +0 -836
  504. package/dist/chunk-4WBCWJSN.js.map +0 -1
  505. package/dist/chunk-5GBDDXYL.mjs +0 -23
  506. package/dist/chunk-5GBDDXYL.mjs.map +0 -1
  507. package/dist/chunk-5USIS3UM.js +0 -4
  508. package/dist/chunk-5USIS3UM.js.map +0 -1
  509. package/dist/chunk-7E3J7VAD.mjs +0 -3
  510. package/dist/chunk-7E3J7VAD.mjs.map +0 -1
  511. package/dist/chunk-ACUFEDVQ.js +0 -345
  512. package/dist/chunk-ACUFEDVQ.js.map +0 -1
  513. package/dist/chunk-AQPU2AXH.js +0 -756
  514. package/dist/chunk-AQPU2AXH.js.map +0 -1
  515. package/dist/chunk-ATUCZXJY.js +0 -80
  516. package/dist/chunk-ATUCZXJY.js.map +0 -1
  517. package/dist/chunk-B3CZ3HXJ.mjs +0 -126
  518. package/dist/chunk-B3CZ3HXJ.mjs.map +0 -1
  519. package/dist/chunk-BCE6RUZV.js +0 -2695
  520. package/dist/chunk-BCE6RUZV.js.map +0 -1
  521. package/dist/chunk-BIHYZA67.mjs +0 -2613
  522. package/dist/chunk-BIHYZA67.mjs.map +0 -1
  523. package/dist/chunk-C6KV7VTZ.mjs +0 -152
  524. package/dist/chunk-C6KV7VTZ.mjs.map +0 -1
  525. package/dist/chunk-CAYOQDBR.js +0 -78
  526. package/dist/chunk-CAYOQDBR.js.map +0 -1
  527. package/dist/chunk-CIVO4R6N.mjs +0 -37
  528. package/dist/chunk-CIVO4R6N.mjs.map +0 -1
  529. package/dist/chunk-CX2GHCAI.mjs +0 -217
  530. package/dist/chunk-CX2GHCAI.mjs.map +0 -1
  531. package/dist/chunk-DIF5VRL3.mjs +0 -73
  532. package/dist/chunk-DIF5VRL3.mjs.map +0 -1
  533. package/dist/chunk-FCEBAWN6.js +0 -18
  534. package/dist/chunk-FCEBAWN6.js.map +0 -1
  535. package/dist/chunk-FHIE5MTC.mjs +0 -541
  536. package/dist/chunk-FHIE5MTC.mjs.map +0 -1
  537. package/dist/chunk-FHLTPXAR.js +0 -56
  538. package/dist/chunk-FHLTPXAR.js.map +0 -1
  539. package/dist/chunk-FIUBFREP.mjs +0 -298
  540. package/dist/chunk-FIUBFREP.mjs.map +0 -1
  541. package/dist/chunk-FOQEQWX5.js +0 -4
  542. package/dist/chunk-FOQEQWX5.js.map +0 -1
  543. package/dist/chunk-FXQOXLDE.js +0 -120
  544. package/dist/chunk-FXQOXLDE.js.map +0 -1
  545. package/dist/chunk-G4NFB2QA.mjs +0 -212
  546. package/dist/chunk-G4NFB2QA.mjs.map +0 -1
  547. package/dist/chunk-G5HJGXGC.mjs +0 -39
  548. package/dist/chunk-G5HJGXGC.mjs.map +0 -1
  549. package/dist/chunk-G6HXNQ2U.mjs +0 -336
  550. package/dist/chunk-G6HXNQ2U.mjs.map +0 -1
  551. package/dist/chunk-G6NSKJMH.js +0 -106
  552. package/dist/chunk-G6NSKJMH.js.map +0 -1
  553. package/dist/chunk-G7UBMCUT.mjs +0 -41
  554. package/dist/chunk-G7UBMCUT.mjs.map +0 -1
  555. package/dist/chunk-GQZHGSRR.js +0 -44
  556. package/dist/chunk-GQZHGSRR.js.map +0 -1
  557. package/dist/chunk-GS7XLKET.js +0 -41
  558. package/dist/chunk-GS7XLKET.js.map +0 -1
  559. package/dist/chunk-GWNBVGDT.mjs +0 -1232
  560. package/dist/chunk-GWNBVGDT.mjs.map +0 -1
  561. package/dist/chunk-HDMIOOZY.mjs +0 -546
  562. package/dist/chunk-HDMIOOZY.mjs.map +0 -1
  563. package/dist/chunk-HJ6MH7J7.js +0 -552
  564. package/dist/chunk-HJ6MH7J7.js.map +0 -1
  565. package/dist/chunk-HJZHQW5R.mjs +0 -146
  566. package/dist/chunk-HJZHQW5R.mjs.map +0 -1
  567. package/dist/chunk-I5ZPEDNR.mjs +0 -734
  568. package/dist/chunk-I5ZPEDNR.mjs.map +0 -1
  569. package/dist/chunk-IBWDBBX5.mjs +0 -16
  570. package/dist/chunk-IBWDBBX5.mjs.map +0 -1
  571. package/dist/chunk-J77KR2EV.mjs +0 -193
  572. package/dist/chunk-J77KR2EV.mjs.map +0 -1
  573. package/dist/chunk-KH6RQ4J5.js +0 -28
  574. package/dist/chunk-KH6RQ4J5.js.map +0 -1
  575. package/dist/chunk-KQ643L7Z.js +0 -144
  576. package/dist/chunk-KQ643L7Z.js.map +0 -1
  577. package/dist/chunk-LFB5EIIM.mjs +0 -31
  578. package/dist/chunk-LFB5EIIM.mjs.map +0 -1
  579. package/dist/chunk-LHJKLUM7.mjs +0 -18
  580. package/dist/chunk-LHJKLUM7.mjs.map +0 -1
  581. package/dist/chunk-MBANGIG3.mjs +0 -781
  582. package/dist/chunk-MBANGIG3.mjs.map +0 -1
  583. package/dist/chunk-MWSAH7ZG.mjs +0 -42
  584. package/dist/chunk-MWSAH7ZG.mjs.map +0 -1
  585. package/dist/chunk-MZOGYD4N.mjs +0 -186
  586. package/dist/chunk-MZOGYD4N.mjs.map +0 -1
  587. package/dist/chunk-NCRP2YHY.mjs +0 -1598
  588. package/dist/chunk-NCRP2YHY.mjs.map +0 -1
  589. package/dist/chunk-NDGHXVGS.js +0 -25
  590. package/dist/chunk-NDGHXVGS.js.map +0 -1
  591. package/dist/chunk-NDPO5OMC.js +0 -563
  592. package/dist/chunk-NDPO5OMC.js.map +0 -1
  593. package/dist/chunk-PBI7FKMB.js +0 -43
  594. package/dist/chunk-PBI7FKMB.js.map +0 -1
  595. package/dist/chunk-Q5EDCKQA.js +0 -336
  596. package/dist/chunk-Q5EDCKQA.js.map +0 -1
  597. package/dist/chunk-Q5VFBPMG.mjs +0 -76
  598. package/dist/chunk-Q5VFBPMG.mjs.map +0 -1
  599. package/dist/chunk-QDUBO567.js +0 -1148
  600. package/dist/chunk-QDUBO567.js.map +0 -1
  601. package/dist/chunk-QP5N3ER6.js +0 -18
  602. package/dist/chunk-QP5N3ER6.js.map +0 -1
  603. package/dist/chunk-QXAOXBVB.mjs +0 -135
  604. package/dist/chunk-QXAOXBVB.mjs.map +0 -1
  605. package/dist/chunk-R2DXTE2L.js +0 -249
  606. package/dist/chunk-R2DXTE2L.js.map +0 -1
  607. package/dist/chunk-RJP2BRJD.mjs +0 -6077
  608. package/dist/chunk-RJP2BRJD.mjs.map +0 -1
  609. package/dist/chunk-RTD2WHQQ.mjs +0 -16
  610. package/dist/chunk-RTD2WHQQ.mjs.map +0 -1
  611. package/dist/chunk-RWCD2CAD.mjs +0 -1132
  612. package/dist/chunk-RWCD2CAD.mjs.map +0 -1
  613. package/dist/chunk-S37OK2QG.js +0 -216
  614. package/dist/chunk-S37OK2QG.js.map +0 -1
  615. package/dist/chunk-S3PUP7N4.js +0 -20
  616. package/dist/chunk-S3PUP7N4.js.map +0 -1
  617. package/dist/chunk-S6YSGVWD.js +0 -224
  618. package/dist/chunk-S6YSGVWD.js.map +0 -1
  619. package/dist/chunk-S732H246.js +0 -6154
  620. package/dist/chunk-S732H246.js.map +0 -1
  621. package/dist/chunk-SFDJNKWC.js +0 -22
  622. package/dist/chunk-SFDJNKWC.js.map +0 -1
  623. package/dist/chunk-SKFEJPMJ.mjs +0 -226
  624. package/dist/chunk-SKFEJPMJ.mjs.map +0 -1
  625. package/dist/chunk-SLKOEYFH.js +0 -303
  626. package/dist/chunk-SLKOEYFH.js.map +0 -1
  627. package/dist/chunk-TC5YU6A4.mjs +0 -243
  628. package/dist/chunk-TC5YU6A4.mjs.map +0 -1
  629. package/dist/chunk-TXMX6PZR.js +0 -190
  630. package/dist/chunk-TXMX6PZR.js.map +0 -1
  631. package/dist/chunk-UCOE6SET.js +0 -148
  632. package/dist/chunk-UCOE6SET.js.map +0 -1
  633. package/dist/chunk-UIYKZ73N.js +0 -36
  634. package/dist/chunk-UIYKZ73N.js.map +0 -1
  635. package/dist/chunk-V7EVKD5G.mjs +0 -116
  636. package/dist/chunk-V7EVKD5G.mjs.map +0 -1
  637. package/dist/chunk-VHN7PF5I.js +0 -20
  638. package/dist/chunk-VHN7PF5I.js.map +0 -1
  639. package/dist/chunk-VMTEDX5H.js +0 -1275
  640. package/dist/chunk-VMTEDX5H.js.map +0 -1
  641. package/dist/chunk-VRN76M56.mjs +0 -3
  642. package/dist/chunk-VRN76M56.mjs.map +0 -1
  643. package/dist/chunk-VXFUXZN5.mjs +0 -20
  644. package/dist/chunk-VXFUXZN5.mjs.map +0 -1
  645. package/dist/chunk-WEEXCPSE.mjs +0 -86
  646. package/dist/chunk-WEEXCPSE.mjs.map +0 -1
  647. package/dist/chunk-WW4GE6CZ.js +0 -1647
  648. package/dist/chunk-WW4GE6CZ.js.map +0 -1
  649. package/dist/chunk-WZDTNDYR.js +0 -207
  650. package/dist/chunk-WZDTNDYR.js.map +0 -1
  651. package/dist/chunk-XBZIS3MV.mjs +0 -13
  652. package/dist/chunk-XBZIS3MV.mjs.map +0 -1
  653. package/dist/chunk-XFOZ56FB.mjs +0 -20
  654. package/dist/chunk-XFOZ56FB.mjs.map +0 -1
  655. package/dist/chunk-XJ7ZAGC5.js +0 -88
  656. package/dist/chunk-XJ7ZAGC5.js.map +0 -1
  657. package/dist/chunk-XUS5ACKR.mjs +0 -100
  658. package/dist/chunk-XUS5ACKR.mjs.map +0 -1
  659. package/dist/chunk-YOTQG4NP.mjs +0 -314
  660. package/dist/chunk-YOTQG4NP.mjs.map +0 -1
  661. package/dist/chunk-Z23HAXHL.js +0 -136
  662. package/dist/chunk-Z23HAXHL.js.map +0 -1
  663. package/dist/chunk-ZGVB35L2.mjs +0 -25
  664. package/dist/chunk-ZGVB35L2.mjs.map +0 -1
  665. package/dist/chunk-ZLYPALF3.js +0 -242
  666. package/dist/chunk-ZLYPALF3.js.map +0 -1
  667. package/dist/chunk-ZM2SZJTZ.js +0 -158
  668. package/dist/chunk-ZM2SZJTZ.js.map +0 -1
  669. package/dist/chunk-ZRAW3HXA.js +0 -43
  670. package/dist/chunk-ZRAW3HXA.js.map +0 -1
  671. package/dist/chunk-ZWQJSZEY.js +0 -371
  672. package/dist/chunk-ZWQJSZEY.js.map +0 -1
  673. package/dist/components/index.d.mts +0 -405
  674. package/dist/components/index.d.ts +0 -405
  675. package/dist/components/index.js +0 -2516
  676. package/dist/components/index.js.map +0 -1
  677. package/dist/components/index.mjs +0 -2396
  678. package/dist/components/index.mjs.map +0 -1
  679. package/dist/config/index.d.mts +0 -1
  680. package/dist/config/index.d.ts +0 -1
  681. package/dist/config/index.js +0 -21
  682. package/dist/config/index.mjs +0 -4
  683. package/dist/config/server/index.js +0 -1177
  684. package/dist/config/server/index.js.map +0 -1
  685. package/dist/config/server/index.mjs +0 -1138
  686. package/dist/config/server/index.mjs.map +0 -1
  687. package/dist/drizzle-schema-BNhqj2AZ.d.mts +0 -1114
  688. package/dist/drizzle-schema-BNhqj2AZ.d.ts +0 -1114
  689. package/dist/festivalCard/index.d.mts +0 -76
  690. package/dist/festivalCard/index.d.ts +0 -76
  691. package/dist/festivalCard/index.js +0 -1492
  692. package/dist/festivalCard/index.js.map +0 -1
  693. package/dist/festivalCard/index.mjs +0 -1475
  694. package/dist/festivalCard/index.mjs.map +0 -1
  695. package/dist/festivalCard/routes/index.d.mts +0 -42
  696. package/dist/festivalCard/routes/index.d.ts +0 -42
  697. package/dist/festivalCard/routes/index.js +0 -361
  698. package/dist/festivalCard/routes/index.js.map +0 -1
  699. package/dist/festivalCard/routes/index.mjs +0 -356
  700. package/dist/festivalCard/routes/index.mjs.map +0 -1
  701. package/dist/festivalCard/server/index.d.mts +0 -120
  702. package/dist/festivalCard/server/index.d.ts +0 -120
  703. package/dist/festivalCard/server/index.js +0 -272
  704. package/dist/festivalCard/server/index.js.map +0 -1
  705. package/dist/festivalCard/server/index.mjs +0 -265
  706. package/dist/festivalCard/server/index.mjs.map +0 -1
  707. package/dist/festivalCardService-B3GsnNpV.d.ts +0 -13
  708. package/dist/festivalCardService-CWhrLNE9.d.mts +0 -13
  709. package/dist/i18n/index.d.mts +0 -2
  710. package/dist/i18n/index.d.ts +0 -2
  711. package/dist/i18n/index.js +0 -73
  712. package/dist/i18n/index.mjs +0 -4
  713. package/dist/imageCrop/index.d.mts +0 -165
  714. package/dist/imageCrop/index.d.ts +0 -165
  715. package/dist/imageCrop/index.js +0 -560
  716. package/dist/imageCrop/index.js.map +0 -1
  717. package/dist/imageCrop/index.mjs +0 -541
  718. package/dist/imageCrop/index.mjs.map +0 -1
  719. package/dist/index-2G9Dxjvt.d.ts +0 -81
  720. package/dist/index-BcjDRcKp.d.mts +0 -40
  721. package/dist/index-Bjem5rWn.d.mts +0 -17
  722. package/dist/index-BlpXrrTy.d.ts +0 -40
  723. package/dist/index-C5U-2hJq.d.ts +0 -23
  724. package/dist/index-CYuUB8aF.d.mts +0 -67
  725. package/dist/index-CifSBBP2.d.ts +0 -17
  726. package/dist/index-D0K4ehme.d.mts +0 -20
  727. package/dist/index-DLnfKN-a.d.mts +0 -23
  728. package/dist/index-DSel44Ke.d.mts +0 -93
  729. package/dist/index-DSel44Ke.d.ts +0 -93
  730. package/dist/index-DZ5iJtNO.d.mts +0 -102
  731. package/dist/index-DZ5iJtNO.d.ts +0 -102
  732. package/dist/index-Da7qdkgW.d.ts +0 -20
  733. package/dist/index-DrPcMJPc.d.mts +0 -250
  734. package/dist/index-DrPcMJPc.d.ts +0 -250
  735. package/dist/index-WrR57hKT.d.ts +0 -67
  736. package/dist/index-oLUvfqT8.d.ts +0 -20
  737. package/dist/index-pe38RDgC.d.mts +0 -20
  738. package/dist/index-qcOvRVuN.d.mts +0 -81
  739. package/dist/index.d.mts +0 -11590
  740. package/dist/index.d.ts +0 -11590
  741. package/dist/index.js +0 -17679
  742. package/dist/index.js.map +0 -1
  743. package/dist/index.mjs +0 -17403
  744. package/dist/index.mjs.map +0 -1
  745. package/dist/logger/index.d.mts +0 -125
  746. package/dist/logger/index.d.ts +0 -125
  747. package/dist/logger/index.js +0 -29
  748. package/dist/logger/index.mjs +0 -4
  749. package/dist/mikuContest/ui/web/index.d.mts +0 -2
  750. package/dist/mikuContest/ui/web/index.d.ts +0 -2
  751. package/dist/mikuContest/ui/web/index.js +0 -353
  752. package/dist/mikuContest/ui/web/index.js.map +0 -1
  753. package/dist/mikuContest/ui/web/index.mjs +0 -343
  754. package/dist/mikuContest/ui/web/index.mjs.map +0 -1
  755. package/dist/mikuFireworks3D/index.d.mts +0 -268
  756. package/dist/mikuFireworks3D/index.d.ts +0 -268
  757. package/dist/mikuFireworks3D/index.js +0 -1267
  758. package/dist/mikuFireworks3D/index.js.map +0 -1
  759. package/dist/mikuFireworks3D/index.mjs +0 -1228
  760. package/dist/mikuFireworks3D/index.mjs.map +0 -1
  761. package/dist/mikuFusionGame/index.d.mts +0 -117
  762. package/dist/mikuFusionGame/index.d.ts +0 -117
  763. package/dist/mikuFusionGame/index.js +0 -1208
  764. package/dist/mikuFusionGame/index.js.map +0 -1
  765. package/dist/mikuFusionGame/index.mjs +0 -1195
  766. package/dist/mikuFusionGame/index.mjs.map +0 -1
  767. package/dist/mmd/admin/index.d.mts +0 -487
  768. package/dist/mmd/admin/index.d.ts +0 -487
  769. package/dist/mmd/admin/index.js +0 -1058
  770. package/dist/mmd/admin/index.js.map +0 -1
  771. package/dist/mmd/admin/index.mjs +0 -1027
  772. package/dist/mmd/admin/index.mjs.map +0 -1
  773. package/dist/mmd/index.d.mts +0 -2467
  774. package/dist/mmd/index.d.ts +0 -2467
  775. package/dist/mmd/index.js +0 -10119
  776. package/dist/mmd/index.js.map +0 -1
  777. package/dist/mmd/index.mjs +0 -10028
  778. package/dist/mmd/index.mjs.map +0 -1
  779. package/dist/mmd/server/index.d.mts +0 -139
  780. package/dist/mmd/server/index.d.ts +0 -139
  781. package/dist/mmd/server/index.js +0 -424
  782. package/dist/mmd/server/index.js.map +0 -1
  783. package/dist/mmd/server/index.mjs +0 -404
  784. package/dist/mmd/server/index.mjs.map +0 -1
  785. package/dist/music/index.d.mts +0 -74
  786. package/dist/music/index.d.ts +0 -74
  787. package/dist/music/index.js +0 -830
  788. package/dist/music/index.js.map +0 -1
  789. package/dist/music/index.mjs +0 -809
  790. package/dist/music/index.mjs.map +0 -1
  791. package/dist/music/server/index.d.mts +0 -1
  792. package/dist/music/server/index.d.ts +0 -1
  793. package/dist/music/server/index.js +0 -194
  794. package/dist/music/server/index.js.map +0 -1
  795. package/dist/music/server/index.mjs +0 -182
  796. package/dist/music/server/index.mjs.map +0 -1
  797. package/dist/navigation/index.d.mts +0 -93
  798. package/dist/navigation/index.d.ts +0 -93
  799. package/dist/navigation/index.js +0 -453
  800. package/dist/navigation/index.js.map +0 -1
  801. package/dist/navigation/index.mjs +0 -443
  802. package/dist/navigation/index.mjs.map +0 -1
  803. package/dist/ossFile/index.d.mts +0 -61
  804. package/dist/ossFile/index.d.ts +0 -61
  805. package/dist/ossFile/index.js +0 -96
  806. package/dist/ossFile/index.js.map +0 -1
  807. package/dist/ossFile/index.mjs +0 -7
  808. package/dist/ossFile/index.mjs.map +0 -1
  809. package/dist/ossFile/server/index.d.mts +0 -94
  810. package/dist/ossFile/server/index.d.ts +0 -94
  811. package/dist/ossFile/server/index.js +0 -213
  812. package/dist/ossFile/server/index.js.map +0 -1
  813. package/dist/ossFile/server/index.mjs +0 -12
  814. package/dist/ossFile/server/index.mjs.map +0 -1
  815. package/dist/path-DkaHQSyW.d.mts +0 -41
  816. package/dist/path-qjVnH8qU.d.ts +0 -41
  817. package/dist/portfolio/index.d.mts +0 -66
  818. package/dist/portfolio/index.d.ts +0 -66
  819. package/dist/portfolio/index.js +0 -736
  820. package/dist/portfolio/index.js.map +0 -1
  821. package/dist/portfolio/index.mjs +0 -724
  822. package/dist/portfolio/index.mjs.map +0 -1
  823. package/dist/qqbot/server/index.d.mts +0 -216
  824. package/dist/qqbot/server/index.d.ts +0 -216
  825. package/dist/qqbot/server/index.js +0 -394
  826. package/dist/qqbot/server/index.js.map +0 -1
  827. package/dist/qqbot/server/index.mjs +0 -385
  828. package/dist/qqbot/server/index.mjs.map +0 -1
  829. package/dist/qqbot/ui/web/index.d.mts +0 -10
  830. package/dist/qqbot/ui/web/index.d.ts +0 -10
  831. package/dist/qqbot/ui/web/index.js +0 -105
  832. package/dist/qqbot/ui/web/index.js.map +0 -1
  833. package/dist/qqbot/ui/web/index.mjs +0 -99
  834. package/dist/qqbot/ui/web/index.mjs.map +0 -1
  835. package/dist/request/index.d.mts +0 -59
  836. package/dist/request/index.d.ts +0 -59
  837. package/dist/request/index.js +0 -23
  838. package/dist/request/index.js.map +0 -1
  839. package/dist/request/index.mjs +0 -6
  840. package/dist/request/index.mjs.map +0 -1
  841. package/dist/screenReceiver/index.d.mts +0 -86
  842. package/dist/screenReceiver/index.d.ts +0 -86
  843. package/dist/screenReceiver/index.js +0 -281
  844. package/dist/screenReceiver/index.js.map +0 -1
  845. package/dist/screenReceiver/index.mjs +0 -273
  846. package/dist/screenReceiver/index.mjs.map +0 -1
  847. package/dist/session-BCXvGCnm.d.mts +0 -81
  848. package/dist/session-BCXvGCnm.d.ts +0 -81
  849. package/dist/storage/index.d.mts +0 -136
  850. package/dist/storage/index.d.ts +0 -136
  851. package/dist/storage/index.js +0 -48
  852. package/dist/storage/index.js.map +0 -1
  853. package/dist/storage/index.mjs +0 -7
  854. package/dist/storage/index.mjs.map +0 -1
  855. package/dist/testYourself/admin/index.d.mts +0 -58
  856. package/dist/testYourself/admin/index.d.ts +0 -58
  857. package/dist/testYourself/admin/index.js +0 -1009
  858. package/dist/testYourself/admin/index.js.map +0 -1
  859. package/dist/testYourself/admin/index.mjs +0 -1002
  860. package/dist/testYourself/admin/index.mjs.map +0 -1
  861. package/dist/testYourself/index.d.mts +0 -53
  862. package/dist/testYourself/index.d.ts +0 -53
  863. package/dist/testYourself/index.js +0 -2551
  864. package/dist/testYourself/index.js.map +0 -1
  865. package/dist/testYourself/index.mjs +0 -2531
  866. package/dist/testYourself/index.mjs.map +0 -1
  867. package/dist/testYourself/server/index.d.mts +0 -1029
  868. package/dist/testYourself/server/index.d.ts +0 -1029
  869. package/dist/testYourself/server/index.js +0 -825
  870. package/dist/testYourself/server/index.js.map +0 -1
  871. package/dist/testYourself/server/index.mjs +0 -816
  872. package/dist/testYourself/server/index.mjs.map +0 -1
  873. package/dist/types-3ujSNAXb.d.mts +0 -286
  874. package/dist/types-3ujSNAXb.d.ts +0 -286
  875. package/dist/types-B6B210gX.d.mts +0 -270
  876. package/dist/types-B6B210gX.d.ts +0 -270
  877. package/dist/types-Bdnte5EN.d.mts +0 -292
  878. package/dist/types-C_W_CoUD.d.ts +0 -99
  879. package/dist/types-Cs0CLvrH.d.mts +0 -70
  880. package/dist/types-Cs0CLvrH.d.ts +0 -70
  881. package/dist/types-DCRvasyH.d.mts +0 -99
  882. package/dist/types-HorDyIRv.d.mts +0 -303
  883. package/dist/types-HorDyIRv.d.ts +0 -303
  884. package/dist/types-_rFX1atk.d.ts +0 -292
  885. package/dist/types.legacy-J-j-_ig_.d.mts +0 -25
  886. package/dist/types.legacy-J-j-_ig_.d.ts +0 -25
  887. package/dist/universalExport/index.d.mts +0 -312
  888. package/dist/universalExport/index.d.ts +0 -312
  889. package/dist/universalExport/index.js +0 -178
  890. package/dist/universalExport/index.js.map +0 -1
  891. package/dist/universalExport/index.mjs +0 -5
  892. package/dist/universalExport/index.mjs.map +0 -1
  893. package/dist/universalExport/server/index.d.mts +0 -1270
  894. package/dist/universalExport/server/index.d.ts +0 -1270
  895. package/dist/universalExport/server/index.js +0 -123
  896. package/dist/universalExport/server/index.js.map +0 -1
  897. package/dist/universalExport/server/index.mjs +0 -6
  898. package/dist/universalExport/server/index.mjs.map +0 -1
  899. package/dist/universalFile/index.d.mts +0 -409
  900. package/dist/universalFile/index.d.ts +0 -409
  901. package/dist/universalFile/index.js +0 -1742
  902. package/dist/universalFile/index.js.map +0 -1
  903. package/dist/universalFile/index.mjs +0 -1497
  904. package/dist/universalFile/index.mjs.map +0 -1
  905. package/dist/universalFile/server/index.d.mts +0 -1064
  906. package/dist/universalFile/server/index.d.ts +0 -1064
  907. package/dist/universalFile/server/index.js +0 -311
  908. package/dist/universalFile/server/index.js.map +0 -1
  909. package/dist/universalFile/server/index.mjs +0 -10
  910. package/dist/universalFile/server/index.mjs.map +0 -1
  911. package/dist/utils/index.d.mts +0 -192
  912. package/dist/utils/index.d.ts +0 -192
  913. package/dist/utils/index.js +0 -46
  914. package/dist/utils/index.js.map +0 -1
  915. package/dist/utils/index.mjs +0 -5
  916. package/dist/utils/index.mjs.map +0 -1
  917. package/dist/vocaloidBooth/index.d.mts +0 -64
  918. package/dist/vocaloidBooth/index.d.ts +0 -64
  919. package/dist/vocaloidBooth/index.js +0 -376
  920. package/dist/vocaloidBooth/index.js.map +0 -1
  921. package/dist/vocaloidBooth/index.mjs +0 -362
  922. package/dist/vocaloidBooth/index.mjs.map +0 -1
  923. package/dist/vocaloidBooth/server/index.d.mts +0 -111
  924. package/dist/vocaloidBooth/server/index.d.ts +0 -111
  925. package/dist/vocaloidBooth/server/index.js +0 -247
  926. package/dist/vocaloidBooth/server/index.js.map +0 -1
  927. package/dist/vocaloidBooth/server/index.mjs +0 -237
  928. package/dist/vocaloidBooth/server/index.mjs.map +0 -1
  929. package/dist/vocaloidBooth/web/index.d.mts +0 -3
  930. package/dist/vocaloidBooth/web/index.d.ts +0 -3
  931. package/dist/vocaloidBooth/web/index.js +0 -376
  932. package/dist/vocaloidBooth/web/index.js.map +0 -1
  933. package/dist/vocaloidBooth/web/index.mjs +0 -362
  934. package/dist/vocaloidBooth/web/index.mjs.map +0 -1
  935. /package/dist/{ai → common/ai}/llm/core/index.js.map +0 -0
  936. /package/dist/{ai → common/ai}/llm/core/index.mjs.map +0 -0
  937. /package/dist/{ai → common/ai}/llm/electron/index.js.map +0 -0
  938. /package/dist/{ai → common/ai}/llm/electron/index.mjs.map +0 -0
  939. /package/dist/{ai → common/ai}/llm/index.js.map +0 -0
  940. /package/dist/{ai → common/ai}/llm/index.mjs.map +0 -0
  941. /package/dist/{ai → common/ai}/llm/miniapp/index.js.map +0 -0
  942. /package/dist/{ai → common/ai}/llm/miniapp/index.mjs.map +0 -0
  943. /package/dist/{ai → common/ai}/llm/rn/index.js.map +0 -0
  944. /package/dist/{ai → common/ai}/llm/rn/index.mjs.map +0 -0
  945. /package/dist/{ai → common/ai}/llm/ui/electron/index.js.map +0 -0
  946. /package/dist/{ai → common/ai}/llm/ui/electron/index.mjs.map +0 -0
  947. /package/dist/{ai → common/ai}/llm/ui/miniapp/index.js.map +0 -0
  948. /package/dist/{ai → common/ai}/llm/ui/miniapp/index.mjs.map +0 -0
  949. /package/dist/{ai → common/ai}/llm/ui/rn/index.js.map +0 -0
  950. /package/dist/{ai → common/ai}/llm/ui/rn/index.mjs.map +0 -0
  951. /package/dist/{ai → common/ai}/llm/ui/web/index.js.map +0 -0
  952. /package/dist/{ai → common/ai}/llm/ui/web/index.mjs.map +0 -0
  953. /package/dist/{ai → common/ai}/llm/web/index.js.map +0 -0
  954. /package/dist/{ai → common/ai}/llm/web/index.mjs.map +0 -0
  955. /package/dist/{analytics → common/analytics}/index.js.map +0 -0
  956. /package/dist/{analytics → common/analytics}/index.mjs.map +0 -0
  957. /package/dist/{analytics → common/analytics}/server/index.d.mts +0 -0
  958. /package/dist/{analytics → common/analytics}/server/index.d.ts +0 -0
  959. /package/dist/{api → common/api}/index.js.map +0 -0
  960. /package/dist/{api → common/api}/index.mjs.map +0 -0
  961. /package/dist/{auth/client → common/components}/index.js.map +0 -0
  962. /package/dist/{auth/client → common/components}/index.mjs.map +0 -0
  963. /package/dist/{auth/components → common/config}/index.js.map +0 -0
  964. /package/dist/{auth/components → common/config}/index.mjs.map +0 -0
  965. /package/dist/{config → common/config}/server/index.d.mts +0 -0
  966. /package/dist/{config → common/config}/server/index.d.ts +0 -0
  967. /package/dist/{auth/hooks → common/i18n}/index.js.map +0 -0
  968. /package/dist/{auth/hooks → common/i18n}/index.mjs.map +0 -0
  969. /package/dist/{auth → common/imageCrop}/index.js.map +0 -0
  970. /package/dist/{auth → common/imageCrop}/index.mjs.map +0 -0
  971. /package/dist/{auth/schema → common/ossFile}/index.js.map +0 -0
  972. /package/dist/{auth/schema → common/ossFile}/index.mjs.map +0 -0
  973. /package/dist/{auth/services → common/ossFile/server}/index.js.map +0 -0
  974. /package/dist/{auth/services → common/ossFile/server}/index.mjs.map +0 -0
  975. /package/dist/{config → common/universalExport}/index.js.map +0 -0
  976. /package/dist/{config → common/universalExport}/index.mjs.map +0 -0
  977. /package/dist/{i18n → common/universalExport/server}/index.js.map +0 -0
  978. /package/dist/{i18n → common/universalExport/server}/index.mjs.map +0 -0
  979. /package/dist/{logger → common/universalFile/server}/index.js.map +0 -0
  980. /package/dist/{logger → common/universalFile/server}/index.mjs.map +0 -0
@@ -1,1195 +0,0 @@
1
- import React, { useRef, useEffect, useState, useCallback, useMemo } from 'react';
2
- import { clsx } from 'clsx';
3
- import { twMerge } from 'tailwind-merge';
4
-
5
- // src/mikuFusionGame/components/MikuFusionGame.tsx
6
- function useStorage(storage, key, defaultValue) {
7
- const [value, setValue] = useState(defaultValue);
8
- const [loading, setLoading] = useState(true);
9
- useEffect(() => {
10
- const loadValue = async () => {
11
- try {
12
- const stored = await storage.getItem(key);
13
- if (stored !== null) {
14
- setValue(JSON.parse(stored));
15
- }
16
- } catch (error) {
17
- console.error('Error reading storage key "' + key + '":', error);
18
- } finally {
19
- setLoading(false);
20
- }
21
- };
22
- void loadValue();
23
- }, [storage, key]);
24
- const updateValue = useCallback(
25
- async (newValue) => {
26
- try {
27
- setValue(newValue);
28
- await storage.setItem(key, JSON.stringify(newValue));
29
- if ("dispatchChange" in storage && typeof storage.dispatchChange === "function") {
30
- storage.dispatchChange(key, JSON.stringify(newValue));
31
- }
32
- } catch (error) {
33
- console.error('Error setting storage key "' + key + '":', error);
34
- }
35
- },
36
- [storage, key]
37
- );
38
- const removeValue = useCallback(async () => {
39
- try {
40
- setValue(defaultValue);
41
- await storage.removeItem(key);
42
- if ("dispatchChange" in storage && typeof storage.dispatchChange === "function") {
43
- storage.dispatchChange(key, null);
44
- }
45
- } catch (error) {
46
- console.error('Error removing storage key "' + key + '":', error);
47
- }
48
- }, [storage, key, defaultValue]);
49
- useEffect(() => {
50
- if (!storage.addChangeListener) {
51
- return;
52
- }
53
- const cleanup = storage.addChangeListener((changedKey, newValue) => {
54
- if (changedKey === key) {
55
- try {
56
- if (newValue === null) {
57
- setValue(defaultValue);
58
- } else {
59
- setValue(JSON.parse(newValue));
60
- }
61
- } catch (error) {
62
- console.error("Error parsing storage change event:", error);
63
- }
64
- }
65
- });
66
- return cleanup;
67
- }, [storage, key, defaultValue]);
68
- return [value, updateValue, removeValue, loading];
69
- }
70
-
71
- // src/storage/adapters/web-adapter.ts
72
- var isBrowser = typeof window !== "undefined" && typeof window.localStorage !== "undefined";
73
- var WebStorageAdapter = class {
74
- async getItem(key) {
75
- if (!isBrowser) {
76
- return null;
77
- }
78
- try {
79
- return localStorage.getItem(key);
80
- } catch (error) {
81
- console.error('[WebStorage] Error getting item "' + key + '":', error);
82
- return null;
83
- }
84
- }
85
- async setItem(key, value) {
86
- if (!isBrowser) {
87
- return;
88
- }
89
- try {
90
- localStorage.setItem(key, value);
91
- } catch (error) {
92
- console.error('[WebStorage] Error setting item "' + key + '":', error);
93
- throw error;
94
- }
95
- }
96
- async removeItem(key) {
97
- if (!isBrowser) {
98
- return;
99
- }
100
- try {
101
- localStorage.removeItem(key);
102
- } catch (error) {
103
- console.error('[WebStorage] Error removing item "' + key + '":', error);
104
- throw error;
105
- }
106
- }
107
- async clear() {
108
- if (!isBrowser) {
109
- return;
110
- }
111
- try {
112
- localStorage.clear();
113
- } catch (error) {
114
- console.error("[WebStorage] Error clearing storage:", error);
115
- throw error;
116
- }
117
- }
118
- addChangeListener(callback) {
119
- if (!isBrowser) {
120
- return () => {
121
- };
122
- }
123
- const handleStorageEvent = (e) => {
124
- if (e.key) {
125
- callback(e.key, e.newValue);
126
- }
127
- };
128
- const handleCustomEvent = (e) => {
129
- const customEvent = e;
130
- callback(customEvent.detail.key, customEvent.detail.value);
131
- };
132
- window.addEventListener("storage", handleStorageEvent);
133
- window.addEventListener("local-storage-change", handleCustomEvent);
134
- return () => {
135
- window.removeEventListener("storage", handleStorageEvent);
136
- window.removeEventListener("local-storage-change", handleCustomEvent);
137
- };
138
- }
139
- /**
140
- * 触发自定义事件,通知同标签页的其他组件
141
- */
142
- dispatchChange(key, value) {
143
- if (!isBrowser) {
144
- return;
145
- }
146
- window.dispatchEvent(
147
- new CustomEvent("local-storage-change", {
148
- detail: { key, value }
149
- })
150
- );
151
- }
152
- };
153
-
154
- // src/storage/hooks/useLocalStorage.ts
155
- var webStorage = new WebStorageAdapter();
156
- function useLocalStorage(key, defaultValue) {
157
- return useStorage(webStorage, key, defaultValue);
158
- }
159
-
160
- // src/logger/console-adapter.ts
161
- var ConsoleLoggerAdapter = class {
162
- constructor() {
163
- this.colors = {
164
- DEBUG: "\x1B[36m",
165
- // Cyan
166
- INFO: "\x1B[32m",
167
- // Green
168
- WARN: "\x1B[33m",
169
- // Yellow
170
- ERROR: "\x1B[31m",
171
- // Red
172
- RESET: "\x1B[0m"
173
- };
174
- }
175
- log(entry) {
176
- const { level, message, timestamp, data, context, error } = entry;
177
- let logMessage = "";
178
- if (timestamp) {
179
- logMessage += "[" + this.formatTimestamp(timestamp) + "] ";
180
- }
181
- const levelName = this.getLevelName(level);
182
- logMessage += levelName + ": ";
183
- if (context) {
184
- logMessage += "[" + context + "] ";
185
- }
186
- logMessage += message;
187
- switch (level) {
188
- case 0:
189
- console.debug(this.colorize(logMessage, "DEBUG"), data || "");
190
- break;
191
- case 1:
192
- console.info(this.colorize(logMessage, "INFO"), data || "");
193
- break;
194
- case 2:
195
- console.warn(this.colorize(logMessage, "WARN"), data || "");
196
- break;
197
- case 3:
198
- console.error(this.colorize(logMessage, "ERROR"), data || "");
199
- if (error) {
200
- console.error(error);
201
- }
202
- break;
203
- }
204
- }
205
- formatTimestamp(date) {
206
- return date.toISOString();
207
- }
208
- getLevelName(level) {
209
- const names = ["DEBUG", "INFO", "WARN", "ERROR", "NONE"];
210
- return names[level] || "UNKNOWN";
211
- }
212
- colorize(message, level) {
213
- if (typeof process !== "undefined" && process.stdout?.isTTY) {
214
- return this.colors[level] + message + this.colors.RESET;
215
- }
216
- return message;
217
- }
218
- };
219
-
220
- // src/logger/Logger.ts
221
- var Logger = class _Logger {
222
- constructor(config, context) {
223
- const isProduction = typeof process !== "undefined" ? process.env.NODE_ENV === "production" : false;
224
- this.config = {
225
- minLevel: config?.minLevel ?? (isProduction ? 1 : 0),
226
- // INFO in prod, DEBUG in dev
227
- enableTimestamp: config?.enableTimestamp ?? true,
228
- enableContext: config?.enableContext ?? true,
229
- environment: config?.environment ?? (isProduction ? "production" : "development"),
230
- adapter: config?.adapter ?? new ConsoleLoggerAdapter()
231
- };
232
- this.adapter = this.config.adapter;
233
- this.context = context;
234
- }
235
- /**
236
- * 创建带上下文的子 Logger
237
- */
238
- createChild(context) {
239
- return new _Logger(this.config, context);
240
- }
241
- /**
242
- * 调试日志
243
- */
244
- debug(message, data) {
245
- this.log(0, message, data);
246
- }
247
- /**
248
- * 信息日志
249
- */
250
- info(message, data) {
251
- this.log(1, message, data);
252
- }
253
- /**
254
- * 警告日志
255
- */
256
- warn(message, data) {
257
- this.log(2, message, data);
258
- }
259
- /**
260
- * 错误日志
261
- */
262
- error(message, error) {
263
- this.log(
264
- 3,
265
- // LogLevel.ERROR
266
- message,
267
- error instanceof Error ? void 0 : error,
268
- error instanceof Error ? error : void 0
269
- );
270
- }
271
- /**
272
- * 核心日志方法
273
- */
274
- log(level, message, data, error) {
275
- if (level < this.config.minLevel) {
276
- return;
277
- }
278
- if (typeof window !== "undefined" && typeof localStorage !== "undefined") {
279
- const loggerDebug = localStorage.getItem("logger-debug");
280
- if (loggerDebug === "false" && level < 3) {
281
- return;
282
- }
283
- }
284
- const entry = {
285
- level,
286
- message,
287
- timestamp: this.config.enableTimestamp ? /* @__PURE__ */ new Date() : void 0,
288
- data,
289
- context: this.config.enableContext ? this.context : void 0,
290
- error
291
- };
292
- this.adapter.log(entry);
293
- }
294
- /**
295
- * 设置日志级别
296
- */
297
- setLevel(level) {
298
- this.config.minLevel = level;
299
- }
300
- /**
301
- * 获取当前日志级别
302
- */
303
- getLevel() {
304
- return this.config.minLevel;
305
- }
306
- };
307
- new Logger();
308
- function cn(...inputs) {
309
- return twMerge(clsx(inputs));
310
- }
311
-
312
- // src/components/ImageMappingPanel.tsx
313
- function ImageMappingPanel({
314
- title,
315
- items,
316
- value,
317
- onChange,
318
- className,
319
- uploadLabel = "\u4E0A\u4F20\u56FE\u7247",
320
- clearLabel = "\u6E05\u9664"
321
- }) {
322
- const handleFileChange = (id, file) => {
323
- if (!file) {
324
- return;
325
- }
326
- const reader = new FileReader();
327
- reader.onload = () => {
328
- const base64 = typeof reader.result === "string" ? reader.result : "";
329
- if (!base64) {
330
- return;
331
- }
332
- onChange({
333
- ...value,
334
- [id]: base64
335
- });
336
- };
337
- reader.readAsDataURL(file);
338
- };
339
- const handleRemove = (id) => {
340
- const next = { ...value };
341
- delete next[id];
342
- onChange(next);
343
- };
344
- return /* @__PURE__ */ React.createElement("details", { className: cn("rounded-lg border border-slate-200 bg-white/80 p-3", className) }, /* @__PURE__ */ React.createElement("summary", { className: "cursor-pointer text-sm font-semibold text-slate-700" }, title), /* @__PURE__ */ React.createElement("div", { className: "mt-3 grid grid-cols-1 gap-2 sm:grid-cols-2" }, items.map((item) => {
345
- const image = value[item.id];
346
- return /* @__PURE__ */ React.createElement(
347
- "div",
348
- {
349
- key: item.id,
350
- className: "flex items-center gap-2 rounded-md border border-slate-200 bg-white p-2"
351
- },
352
- /* @__PURE__ */ React.createElement("div", { className: "w-16 text-xs font-semibold text-slate-600" }, item.label),
353
- /* @__PURE__ */ React.createElement("label", { className: "flex-1 cursor-pointer rounded-md bg-cyan-600 px-2 py-1 text-center text-xs font-medium text-white" }, uploadLabel, /* @__PURE__ */ React.createElement(
354
- "input",
355
- {
356
- type: "file",
357
- accept: "image/*",
358
- className: "hidden",
359
- onChange: (event) => {
360
- handleFileChange(item.id, event.target.files?.[0]);
361
- event.currentTarget.value = "";
362
- }
363
- }
364
- )),
365
- image ? /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(
366
- "img",
367
- {
368
- src: image,
369
- alt: item.label,
370
- className: "h-8 w-8 rounded-full border border-slate-200 object-cover"
371
- }
372
- ), /* @__PURE__ */ React.createElement(
373
- "button",
374
- {
375
- type: "button",
376
- className: "rounded-md border border-red-200 px-2 py-1 text-xs text-red-600",
377
- onClick: () => handleRemove(item.id)
378
- },
379
- clearLabel
380
- )) : null
381
- );
382
- })));
383
- }
384
-
385
- // src/components/LocalImageMappingPanel.tsx
386
- function LocalImageMappingPanel({
387
- storageKey,
388
- defaultValue = {},
389
- onValueChange,
390
- ...panelProps
391
- }) {
392
- const [value, setValue] = useLocalStorage(storageKey, defaultValue);
393
- return /* @__PURE__ */ React.createElement(
394
- ImageMappingPanel,
395
- {
396
- ...panelProps,
397
- value,
398
- onChange: (next) => {
399
- setValue(next);
400
- onValueChange?.(next);
401
- }
402
- }
403
- );
404
- }
405
-
406
- // src/mikuFusionGame/constants.ts
407
- var BASE_RADIUS = 22;
408
- var RADIUS_STEP = 4;
409
- var LEVEL_LABEL_PREFIX = "M";
410
- var DEFAULT_MIKU_FUSION_CONFIG = {
411
- width: 390,
412
- height: 700,
413
- gravity: 1450,
414
- damping: 0.995,
415
- collisionDamping: 0.92,
416
- spawnY: 82,
417
- lossLineY: 132,
418
- maxLevel: 10,
419
- maxOrbs: 90,
420
- maxMergesPerTick: 6,
421
- gameOverAgeThreshold: 1.1,
422
- spawnWeights: [0.62, 0.28, 0.1],
423
- theme: {
424
- backgroundTop: "#dafaff",
425
- backgroundBottom: "#86e5ef",
426
- aimLine: "#14b8a6",
427
- lossLine: "#ef4444",
428
- orbColors: [
429
- "#67e8f9",
430
- "#22d3ee",
431
- "#2dd4bf",
432
- "#5eead4",
433
- "#34d399",
434
- "#a7f3d0",
435
- "#99f6e4",
436
- "#0ea5e9",
437
- "#06b6d4",
438
- "#14b8a6"
439
- ]
440
- }
441
- };
442
-
443
- // src/mikuFusionGame/engine/collision.ts
444
- function resolveCircleCollisions(orbs, config) {
445
- const next = orbs.map((orb) => ({ ...orb }));
446
- for (let i = 0; i < next.length; i += 1) {
447
- for (let j = i + 1; j < next.length; j += 1) {
448
- const a = next[i];
449
- const b = next[j];
450
- const dx = b.x - a.x;
451
- const dy = b.y - a.y;
452
- const distance = Math.sqrt(dx * dx + dy * dy) || 1e-4;
453
- const minDistance = a.radius + b.radius;
454
- if (distance >= minDistance) {
455
- continue;
456
- }
457
- const nx = dx / distance;
458
- const ny = dy / distance;
459
- const overlap = minDistance - distance;
460
- a.x -= nx * overlap * 0.5;
461
- a.y -= ny * overlap * 0.5;
462
- b.x += nx * overlap * 0.5;
463
- b.y += ny * overlap * 0.5;
464
- const rvx = b.vx - a.vx;
465
- const rvy = b.vy - a.vy;
466
- const velocityAlongNormal = rvx * nx + rvy * ny;
467
- if (velocityAlongNormal > 0) {
468
- continue;
469
- }
470
- const restitution = config.collisionDamping;
471
- const impulse = -(1 + restitution) * velocityAlongNormal / 2;
472
- const impulseX = impulse * nx;
473
- const impulseY = impulse * ny;
474
- a.vx -= impulseX;
475
- a.vy -= impulseY;
476
- b.vx += impulseX;
477
- b.vy += impulseY;
478
- }
479
- }
480
- return next;
481
- }
482
-
483
- // src/mikuFusionGame/engine/scoring.ts
484
- function getMergeScore(newLevel, chainIndex) {
485
- const base = 10 * Math.max(1, newLevel) * Math.max(1, newLevel);
486
- const chainMultiplier = 1 + Math.max(0, chainIndex - 1) * 0.15;
487
- return Math.round(base * chainMultiplier);
488
- }
489
-
490
- // src/mikuFusionGame/engine/physics.ts
491
- function getRadiusByLevel(level) {
492
- return BASE_RADIUS + (Math.max(1, level) - 1) * RADIUS_STEP;
493
- }
494
- function stepPhysics(orbs, config, dt) {
495
- return orbs.map((orb) => {
496
- const next = { ...orb };
497
- next.vy += config.gravity * dt;
498
- next.vx *= config.damping;
499
- next.vy *= config.damping;
500
- next.x += next.vx * dt;
501
- next.y += next.vy * dt;
502
- next.age += dt;
503
- if (next.x - next.radius < 0) {
504
- next.x = next.radius;
505
- next.vx = Math.abs(next.vx) * config.collisionDamping;
506
- } else if (next.x + next.radius > config.width) {
507
- next.x = config.width - next.radius;
508
- next.vx = -Math.abs(next.vx) * config.collisionDamping;
509
- }
510
- if (next.y + next.radius > config.height) {
511
- next.y = config.height - next.radius;
512
- next.vy = -Math.abs(next.vy) * config.collisionDamping;
513
- }
514
- return next;
515
- });
516
- }
517
-
518
- // src/mikuFusionGame/engine/merge.ts
519
- function canMerge(a, b, config) {
520
- if (a.level !== b.level) {
521
- return false;
522
- }
523
- if (a.level >= config.maxLevel) {
524
- return false;
525
- }
526
- const dx = b.x - a.x;
527
- const dy = b.y - a.y;
528
- const distance = Math.sqrt(dx * dx + dy * dy);
529
- const threshold = a.radius + b.radius + 0.75;
530
- return distance <= threshold;
531
- }
532
- function mergeSameLevelOrbs(orbs, config) {
533
- const mergedIds = /* @__PURE__ */ new Set();
534
- const spawned = [];
535
- let scoreGain = 0;
536
- let chainIndex = 0;
537
- for (let i = 0; i < orbs.length; i += 1) {
538
- if (mergedIds.has(orbs[i].id)) {
539
- continue;
540
- }
541
- for (let j = i + 1; j < orbs.length; j += 1) {
542
- if (mergedIds.has(orbs[j].id)) {
543
- continue;
544
- }
545
- const a = orbs[i];
546
- const b = orbs[j];
547
- if (!canMerge(a, b, config)) {
548
- continue;
549
- }
550
- mergedIds.add(a.id);
551
- mergedIds.add(b.id);
552
- chainIndex += 1;
553
- const nextLevel = Math.min(config.maxLevel, a.level + 1);
554
- const mergedOrb = {
555
- id: `orb-${a.id}-${b.id}-${chainIndex}`,
556
- x: (a.x + b.x) / 2,
557
- y: (a.y + b.y) / 2,
558
- vx: (a.vx + b.vx) / 2 * 0.4,
559
- vy: (a.vy + b.vy) / 2 * 0.4,
560
- radius: getRadiusByLevel(nextLevel),
561
- level: nextLevel,
562
- age: Math.min(a.age, b.age)
563
- };
564
- spawned.push(mergedOrb);
565
- scoreGain += getMergeScore(nextLevel, chainIndex);
566
- if (chainIndex >= config.maxMergesPerTick) {
567
- break;
568
- }
569
- }
570
- if (chainIndex >= config.maxMergesPerTick) {
571
- break;
572
- }
573
- }
574
- if (mergedIds.size === 0) {
575
- return {
576
- orbs,
577
- scoreGain: 0,
578
- mergeCount: 0
579
- };
580
- }
581
- const survivors = orbs.filter((orb) => !mergedIds.has(orb.id));
582
- const mergedOrbs = survivors.concat(spawned);
583
- return {
584
- orbs: mergedOrbs,
585
- scoreGain,
586
- mergeCount: chainIndex
587
- };
588
- }
589
-
590
- // src/mikuFusionGame/engine/stateMachine.ts
591
- var ALLOWED_TRANSITIONS = {
592
- ready: ["playing"],
593
- playing: ["paused", "gameOver", "ready"],
594
- paused: ["playing", "ready"],
595
- gameOver: ["ready", "playing"]
596
- };
597
- function canTransition(from, to) {
598
- return ALLOWED_TRANSITIONS[from].includes(to);
599
- }
600
-
601
- // src/mikuFusionGame/hooks/useMikuFusionGame.ts
602
- function clamp(value, min, max) {
603
- return Math.max(min, Math.min(max, value));
604
- }
605
- function nextOrbLevel(weights) {
606
- const random = Math.random();
607
- let cumulative = 0;
608
- for (let i = 0; i < weights.length; i += 1) {
609
- cumulative += weights[i] ?? 0;
610
- if (random <= cumulative) {
611
- return i + 1;
612
- }
613
- }
614
- return Math.max(1, weights.length);
615
- }
616
- function getOrbColor(level, config) {
617
- const index = Math.max(0, Math.min(config.theme.orbColors.length - 1, level - 1));
618
- return config.theme.orbColors[index] || "#22d3ee";
619
- }
620
- function drawScene(context, width, height, config, orbs, aimX, nextLevel, status, imageCache) {
621
- const gradient = context.createLinearGradient(0, 0, 0, height);
622
- gradient.addColorStop(0, config.theme.backgroundTop);
623
- gradient.addColorStop(1, config.theme.backgroundBottom);
624
- context.fillStyle = gradient;
625
- context.fillRect(0, 0, width, height);
626
- context.lineWidth = 2;
627
- context.strokeStyle = config.theme.lossLine;
628
- context.setLineDash([6, 6]);
629
- context.beginPath();
630
- context.moveTo(0, config.lossLineY);
631
- context.lineTo(width, config.lossLineY);
632
- context.stroke();
633
- context.setLineDash([]);
634
- context.strokeStyle = config.theme.aimLine;
635
- context.lineWidth = 1.5;
636
- context.beginPath();
637
- context.moveTo(aimX, 0);
638
- context.lineTo(aimX, config.spawnY);
639
- context.stroke();
640
- const previewRadius = getRadiusByLevel(nextLevel);
641
- const previewY = config.spawnY - previewRadius - 4;
642
- const previewImage = imageCache[nextLevel];
643
- context.beginPath();
644
- context.arc(aimX, previewY, previewRadius, 0, Math.PI * 2);
645
- context.closePath();
646
- if (previewImage && previewImage.complete && previewImage.naturalWidth > 0) {
647
- context.save();
648
- context.clip();
649
- context.drawImage(
650
- previewImage,
651
- aimX - previewRadius,
652
- previewY - previewRadius,
653
- previewRadius * 2,
654
- previewRadius * 2
655
- );
656
- context.restore();
657
- } else {
658
- context.fillStyle = getOrbColor(nextLevel, config);
659
- context.fill();
660
- }
661
- orbs.forEach((orb) => {
662
- context.beginPath();
663
- context.arc(orb.x, orb.y, orb.radius, 0, Math.PI * 2);
664
- context.closePath();
665
- const orbImage = imageCache[orb.level];
666
- if (orbImage && orbImage.complete && orbImage.naturalWidth > 0) {
667
- context.save();
668
- context.clip();
669
- context.drawImage(
670
- orbImage,
671
- orb.x - orb.radius,
672
- orb.y - orb.radius,
673
- orb.radius * 2,
674
- orb.radius * 2
675
- );
676
- context.restore();
677
- context.beginPath();
678
- context.strokeStyle = "rgba(15, 23, 42, 0.15)";
679
- context.lineWidth = 1;
680
- context.arc(orb.x, orb.y, orb.radius, 0, Math.PI * 2);
681
- context.stroke();
682
- } else {
683
- context.fillStyle = getOrbColor(orb.level, config);
684
- context.fill();
685
- }
686
- context.fillStyle = "#0f172a";
687
- context.font = "bold 12px system-ui";
688
- context.textAlign = "center";
689
- context.textBaseline = "middle";
690
- context.fillText(`${LEVEL_LABEL_PREFIX}${orb.level}`, orb.x, orb.y);
691
- });
692
- if (status === "paused") {
693
- context.fillStyle = "rgba(15, 23, 42, 0.5)";
694
- context.fillRect(0, 0, width, height);
695
- context.fillStyle = "#ffffff";
696
- context.font = "bold 30px system-ui";
697
- context.textAlign = "center";
698
- context.fillText("Paused", width / 2, height / 2);
699
- }
700
- }
701
- function normalizeConfig(config) {
702
- const mergedTheme = {
703
- ...DEFAULT_MIKU_FUSION_CONFIG.theme,
704
- ...config?.theme ?? {}
705
- };
706
- const merged = {
707
- ...DEFAULT_MIKU_FUSION_CONFIG,
708
- ...config ?? {},
709
- theme: mergedTheme
710
- };
711
- const totalWeight = merged.spawnWeights.reduce((sum, current) => sum + current, 0);
712
- if (totalWeight <= 0) {
713
- merged.spawnWeights = [...DEFAULT_MIKU_FUSION_CONFIG.spawnWeights];
714
- } else if (Math.abs(totalWeight - 1) > 1e-3) {
715
- merged.spawnWeights = merged.spawnWeights.map((weight) => weight / totalWeight);
716
- }
717
- return merged;
718
- }
719
- function useMikuFusionGame(options = {}) {
720
- const configRef = useRef(normalizeConfig(options));
721
- const config = configRef.current;
722
- const onScoreChangeRef = useRef(options.onScoreChange);
723
- const onGameOverRef = useRef(options.onGameOver);
724
- const orbImageMappingRef = useRef(options.orbImageMapping ?? {});
725
- const imageCacheRef = useRef({});
726
- useEffect(() => {
727
- onScoreChangeRef.current = options.onScoreChange;
728
- onGameOverRef.current = options.onGameOver;
729
- }, [options.onGameOver, options.onScoreChange]);
730
- useEffect(() => {
731
- orbImageMappingRef.current = options.orbImageMapping ?? {};
732
- const nextCache = {};
733
- Object.entries(orbImageMappingRef.current).forEach(([levelText, src]) => {
734
- const level = Number(levelText);
735
- if (!src || Number.isNaN(level)) {
736
- return;
737
- }
738
- const image = new window.Image();
739
- image.src = src;
740
- nextCache[level] = image;
741
- });
742
- imageCacheRef.current = nextCache;
743
- }, [options.orbImageMapping]);
744
- const [bestScore, setBestScore] = useLocalStorage(
745
- options.storageKey || "sa2kit:mikuFusionGame:bestScore",
746
- 0
747
- );
748
- const canvasRef = useRef(null);
749
- const rafRef = useRef(null);
750
- const lastTsRef = useRef(0);
751
- const idRef = useRef(0);
752
- const orbsRef = useRef([]);
753
- const aimXRef = useRef(config.width / 2);
754
- const scoreRef = useRef(0);
755
- const [status, setStatus] = useState("ready");
756
- const [score, setScore] = useState(0);
757
- const [nextLevel, setNextLevel] = useState(() => nextOrbLevel(config.spawnWeights));
758
- const draw = useCallback(
759
- (nextStatus = status) => {
760
- const canvas = canvasRef.current;
761
- if (!canvas) {
762
- return;
763
- }
764
- const context = canvas.getContext("2d");
765
- if (!context) {
766
- return;
767
- }
768
- drawScene(
769
- context,
770
- config.width,
771
- config.height,
772
- config,
773
- orbsRef.current,
774
- aimXRef.current,
775
- nextLevel,
776
- nextStatus,
777
- imageCacheRef.current
778
- );
779
- },
780
- [config, nextLevel, status]
781
- );
782
- const transitionStatus = useCallback((nextStatus) => {
783
- setStatus((previous) => canTransition(previous, nextStatus) ? nextStatus : previous);
784
- }, []);
785
- const spawnOrb = useCallback(() => {
786
- if (status === "paused" || status === "gameOver") {
787
- return;
788
- }
789
- if (status === "ready") {
790
- transitionStatus("playing");
791
- }
792
- idRef.current += 1;
793
- const radius = getRadiusByLevel(nextLevel);
794
- const x = clamp(aimXRef.current, radius, config.width - radius);
795
- const created = {
796
- id: `${idRef.current}`,
797
- x,
798
- y: config.spawnY,
799
- vx: 0,
800
- vy: 0,
801
- radius,
802
- level: nextLevel,
803
- age: 0
804
- };
805
- const nextOrbs = orbsRef.current.concat(created);
806
- orbsRef.current = nextOrbs.slice(-config.maxOrbs);
807
- setNextLevel(nextOrbLevel(config.spawnWeights));
808
- }, [config, nextLevel, status, transitionStatus]);
809
- const restart = useCallback(() => {
810
- orbsRef.current = [];
811
- scoreRef.current = 0;
812
- setScore(0);
813
- setNextLevel(nextOrbLevel(config.spawnWeights));
814
- transitionStatus("ready");
815
- draw("ready");
816
- }, [config.spawnWeights, draw, transitionStatus]);
817
- const togglePause = useCallback(() => {
818
- setStatus((previous) => {
819
- if (previous === "playing" && canTransition(previous, "paused")) {
820
- return "paused";
821
- }
822
- if (previous === "paused" && canTransition(previous, "playing")) {
823
- return "playing";
824
- }
825
- return previous;
826
- });
827
- }, []);
828
- const setAimFromClientX = useCallback((clientX, rect) => {
829
- const ratio = config.width / rect.width;
830
- const x = (clientX - rect.left) * ratio;
831
- aimXRef.current = clamp(x, 0, config.width);
832
- }, [config.width]);
833
- const handleDrop = useCallback(
834
- (clientX, rect) => {
835
- setAimFromClientX(clientX, rect);
836
- spawnOrb();
837
- },
838
- [setAimFromClientX, spawnOrb]
839
- );
840
- useEffect(() => {
841
- draw(status);
842
- }, [draw, status]);
843
- useEffect(() => {
844
- if (status !== "playing") {
845
- if (rafRef.current) {
846
- window.cancelAnimationFrame(rafRef.current);
847
- }
848
- lastTsRef.current = 0;
849
- draw(status);
850
- return;
851
- }
852
- const frame = (timestamp) => {
853
- if (lastTsRef.current === 0) {
854
- lastTsRef.current = timestamp;
855
- }
856
- const dt = Math.min((timestamp - lastTsRef.current) / 1e3, 0.033);
857
- lastTsRef.current = timestamp;
858
- let orbs = stepPhysics(orbsRef.current, config, dt);
859
- orbs = resolveCircleCollisions(orbs, config);
860
- const merged = mergeSameLevelOrbs(orbs, config);
861
- orbs = merged.orbs;
862
- orbsRef.current = orbs.slice(-config.maxOrbs);
863
- if (merged.scoreGain > 0) {
864
- scoreRef.current += merged.scoreGain;
865
- setScore(scoreRef.current);
866
- onScoreChangeRef.current?.(scoreRef.current);
867
- }
868
- const gameOver = orbs.some(
869
- (orb) => orb.age > config.gameOverAgeThreshold && orb.y - orb.radius <= config.lossLineY && Math.abs(orb.vy) < 90
870
- );
871
- if (gameOver) {
872
- transitionStatus("gameOver");
873
- const latestBest = Math.max(bestScore, scoreRef.current);
874
- if (latestBest !== bestScore) {
875
- setBestScore(latestBest);
876
- }
877
- onGameOverRef.current?.(scoreRef.current, latestBest);
878
- draw("gameOver");
879
- return;
880
- }
881
- draw("playing");
882
- rafRef.current = window.requestAnimationFrame(frame);
883
- };
884
- rafRef.current = window.requestAnimationFrame(frame);
885
- return () => {
886
- if (rafRef.current) {
887
- window.cancelAnimationFrame(rafRef.current);
888
- }
889
- };
890
- }, [
891
- bestScore,
892
- config,
893
- draw,
894
- setBestScore,
895
- status,
896
- transitionStatus
897
- ]);
898
- useEffect(() => {
899
- if (score > bestScore) {
900
- setBestScore(score);
901
- }
902
- }, [bestScore, score, setBestScore]);
903
- return {
904
- canvasRef,
905
- status,
906
- score,
907
- bestScore: Math.max(bestScore, score),
908
- nextLevel,
909
- config,
910
- setAimFromClientX,
911
- handleDrop,
912
- togglePause,
913
- restart
914
- };
915
- }
916
- function useResponsiveCanvas(logicalWidth, logicalHeight, containerRef) {
917
- const [size, setSize] = useState({
918
- displayWidth: logicalWidth,
919
- displayHeight: logicalHeight,
920
- scale: 1
921
- });
922
- useEffect(() => {
923
- const updateSize = () => {
924
- const container2 = containerRef.current;
925
- if (!container2 || typeof window === "undefined") {
926
- return;
927
- }
928
- const rect = container2.getBoundingClientRect();
929
- const maxWidth = Math.max(280, rect.width);
930
- const maxHeight = Math.max(420, Math.floor(window.innerHeight * 0.78));
931
- const scale = Math.min(maxWidth / logicalWidth, maxHeight / logicalHeight, 1);
932
- setSize({
933
- displayWidth: Math.floor(logicalWidth * scale),
934
- displayHeight: Math.floor(logicalHeight * scale),
935
- scale
936
- });
937
- };
938
- updateSize();
939
- const container = containerRef.current;
940
- const observer = typeof ResizeObserver !== "undefined" ? new ResizeObserver(updateSize) : null;
941
- if (container && observer) {
942
- observer.observe(container);
943
- }
944
- window.addEventListener("resize", updateSize);
945
- return () => {
946
- observer?.disconnect();
947
- window.removeEventListener("resize", updateSize);
948
- };
949
- }, [containerRef, logicalWidth, logicalHeight]);
950
- return size;
951
- }
952
- function GameCanvas({
953
- canvasRef,
954
- width,
955
- height,
956
- displayWidth,
957
- displayHeight,
958
- onPointerMove,
959
- onPointerDown,
960
- onPointerUp
961
- }) {
962
- return /* @__PURE__ */ React.createElement(
963
- "canvas",
964
- {
965
- ref: canvasRef,
966
- width,
967
- height,
968
- className: "rounded-xl border border-cyan-200 bg-cyan-50 shadow-sm",
969
- style: {
970
- width: `${displayWidth}px`,
971
- height: `${displayHeight}px`,
972
- maxWidth: "100%",
973
- touchAction: "none"
974
- },
975
- onPointerMove,
976
- onPointerDown,
977
- onPointerUp,
978
- onContextMenu: (event) => event.preventDefault()
979
- }
980
- );
981
- }
982
- function GameControls({ isPaused, isPlaying, onTogglePause, onRestart }) {
983
- return /* @__PURE__ */ React.createElement("div", { className: "grid grid-cols-2 gap-2" }, /* @__PURE__ */ React.createElement(
984
- "button",
985
- {
986
- type: "button",
987
- className: "rounded-lg bg-cyan-600 px-4 py-3 text-sm font-semibold text-white disabled:cursor-not-allowed disabled:opacity-50",
988
- onClick: onTogglePause,
989
- disabled: !isPlaying
990
- },
991
- isPaused ? "\u7EE7\u7EED" : "\u6682\u505C"
992
- ), /* @__PURE__ */ React.createElement(
993
- "button",
994
- {
995
- type: "button",
996
- className: "rounded-lg bg-emerald-600 px-4 py-3 text-sm font-semibold text-white",
997
- onClick: onRestart
998
- },
999
- "\u91CD\u5F00"
1000
- ));
1001
- }
1002
- function GameHUD({ score, bestScore, nextLevel, statusText }) {
1003
- return /* @__PURE__ */ React.createElement("div", { className: "flex items-center justify-between gap-2 rounded-lg border border-cyan-200 bg-white/80 p-3" }, /* @__PURE__ */ React.createElement("div", { className: "min-w-0" }, /* @__PURE__ */ React.createElement("div", { className: "text-xs text-slate-500" }, "\u5F53\u524D\u5206\u6570"), /* @__PURE__ */ React.createElement("div", { className: "text-xl font-bold text-cyan-700" }, score), /* @__PURE__ */ React.createElement("div", { className: "text-xs text-slate-500" }, "\u6700\u9AD8\u5206 ", bestScore)), /* @__PURE__ */ React.createElement("div", { className: "text-right" }, /* @__PURE__ */ React.createElement("div", { className: "text-xs text-slate-500" }, "\u4E0B\u4E00\u4E2A"), /* @__PURE__ */ React.createElement("div", { className: "text-base font-semibold text-emerald-700" }, "M", nextLevel), /* @__PURE__ */ React.createElement("div", { className: "text-xs font-medium text-slate-600" }, statusText)));
1004
- }
1005
- function GameResultModal({ open, score, bestScore, onRestart }) {
1006
- if (!open) {
1007
- return null;
1008
- }
1009
- return /* @__PURE__ */ React.createElement("div", { className: "pointer-events-none absolute inset-0 flex items-center justify-center bg-slate-900/50 p-4" }, /* @__PURE__ */ React.createElement("div", { className: "pointer-events-auto w-full max-w-xs rounded-xl bg-white p-5 shadow-2xl" }, /* @__PURE__ */ React.createElement("h3", { className: "text-lg font-semibold text-slate-900" }, "\u6E38\u620F\u7ED3\u675F"), /* @__PURE__ */ React.createElement("p", { className: "mt-2 text-sm text-slate-600" }, "\u5F53\u524D\u5206\u6570\uFF1A", score), /* @__PURE__ */ React.createElement("p", { className: "text-sm text-slate-600" }, "\u6700\u9AD8\u5206\uFF1A", bestScore), /* @__PURE__ */ React.createElement(
1010
- "button",
1011
- {
1012
- type: "button",
1013
- className: "mt-4 w-full rounded-lg bg-cyan-600 px-4 py-2 text-sm font-semibold text-white",
1014
- onClick: onRestart
1015
- },
1016
- "\u518D\u6765\u4E00\u5C40"
1017
- )));
1018
- }
1019
-
1020
- // src/mikuFusionGame/components/MikuFusionGame.tsx
1021
- function MikuFusionGame({
1022
- className,
1023
- storageKey,
1024
- orbImageStorageKey = "sa2kit:mikuFusionGame:orbImages",
1025
- enableImageConfigPanel = true,
1026
- presetOrbImageMapping = {},
1027
- ...options
1028
- }) {
1029
- const containerRef = useRef(null);
1030
- const [orbImageMapping, setOrbImageMapping] = useState({});
1031
- const [isUserDefineMode] = useState(() => {
1032
- if (typeof window === "undefined") {
1033
- return false;
1034
- }
1035
- const value = new URLSearchParams(window.location.search).get("userDefine");
1036
- return value === "true";
1037
- });
1038
- const activeOrbImageMapping = isUserDefineMode ? orbImageMapping : presetOrbImageMapping;
1039
- const {
1040
- canvasRef,
1041
- status,
1042
- score,
1043
- bestScore,
1044
- nextLevel,
1045
- config,
1046
- setAimFromClientX,
1047
- handleDrop,
1048
- togglePause,
1049
- restart
1050
- } = useMikuFusionGame({ ...options, storageKey, orbImageMapping: activeOrbImageMapping });
1051
- const panelItems = useMemo(
1052
- () => Array.from({ length: config.maxLevel }, (_, index) => ({
1053
- id: String(index + 1),
1054
- label: `M${index + 1}`
1055
- })),
1056
- [config.maxLevel]
1057
- );
1058
- const panelValue = useMemo(
1059
- () => Object.entries(orbImageMapping).reduce((acc, [key, value]) => {
1060
- if (value) {
1061
- acc[String(key)] = value;
1062
- }
1063
- return acc;
1064
- }, {}),
1065
- [orbImageMapping]
1066
- );
1067
- useEffect(() => {
1068
- if (typeof window === "undefined") {
1069
- return;
1070
- }
1071
- try {
1072
- const raw = window.localStorage.getItem(orbImageStorageKey);
1073
- if (!raw) {
1074
- setOrbImageMapping({});
1075
- return;
1076
- }
1077
- const parsed = JSON.parse(raw);
1078
- const normalized = {};
1079
- Object.entries(parsed).forEach(([key, value]) => {
1080
- const level = Number(key);
1081
- if (!Number.isNaN(level) && typeof value === "string" && value) {
1082
- normalized[level] = value;
1083
- }
1084
- });
1085
- setOrbImageMapping(normalized);
1086
- } catch {
1087
- setOrbImageMapping({});
1088
- }
1089
- }, [orbImageStorageKey]);
1090
- const { displayWidth, displayHeight } = useResponsiveCanvas(
1091
- config.width,
1092
- config.height,
1093
- containerRef
1094
- );
1095
- const statusText = useMemo(() => {
1096
- if (status === "ready") {
1097
- return "\u5F85\u5F00\u59CB";
1098
- }
1099
- if (status === "playing") {
1100
- return "\u8FDB\u884C\u4E2D";
1101
- }
1102
- if (status === "paused") {
1103
- return "\u5DF2\u6682\u505C";
1104
- }
1105
- return "\u5DF2\u7ED3\u675F";
1106
- }, [status]);
1107
- const handlePointerMove = (event) => {
1108
- const rect = event.currentTarget.getBoundingClientRect();
1109
- setAimFromClientX(event.clientX, rect);
1110
- };
1111
- const handlePointerDown = (event) => {
1112
- event.currentTarget.setPointerCapture(event.pointerId);
1113
- const rect = event.currentTarget.getBoundingClientRect();
1114
- setAimFromClientX(event.clientX, rect);
1115
- };
1116
- const handlePointerUp = (event) => {
1117
- const rect = event.currentTarget.getBoundingClientRect();
1118
- handleDrop(event.clientX, rect);
1119
- event.currentTarget.releasePointerCapture(event.pointerId);
1120
- };
1121
- const handleKeyDown = (event) => {
1122
- if (event.key.toLowerCase() === "r") {
1123
- restart();
1124
- }
1125
- if (event.key.toLowerCase() === "p") {
1126
- togglePause();
1127
- }
1128
- };
1129
- const handlePanelValueChange = (next) => {
1130
- const normalized = {};
1131
- Object.entries(next).forEach(([key, value]) => {
1132
- const level = Number(key);
1133
- if (!Number.isNaN(level) && value) {
1134
- normalized[level] = value;
1135
- }
1136
- });
1137
- setOrbImageMapping(normalized);
1138
- };
1139
- return /* @__PURE__ */ React.createElement(
1140
- "div",
1141
- {
1142
- ref: containerRef,
1143
- tabIndex: 0,
1144
- onKeyDown: handleKeyDown,
1145
- className: `relative mx-auto flex w-full max-w-xl flex-col gap-3 p-3 md:p-4 ${className || ""}`,
1146
- style: {
1147
- paddingBottom: "max(0.75rem, env(safe-area-inset-bottom))"
1148
- }
1149
- },
1150
- /* @__PURE__ */ React.createElement(GameHUD, { score, bestScore, nextLevel, statusText }),
1151
- /* @__PURE__ */ React.createElement("div", { className: "relative mx-auto" }, /* @__PURE__ */ React.createElement(
1152
- GameCanvas,
1153
- {
1154
- canvasRef,
1155
- width: config.width,
1156
- height: config.height,
1157
- displayWidth,
1158
- displayHeight,
1159
- onPointerMove: handlePointerMove,
1160
- onPointerDown: handlePointerDown,
1161
- onPointerUp: handlePointerUp
1162
- }
1163
- ), /* @__PURE__ */ React.createElement(GameResultModal, { open: status === "gameOver", score, bestScore, onRestart: restart })),
1164
- /* @__PURE__ */ React.createElement(
1165
- GameControls,
1166
- {
1167
- isPaused: status === "paused",
1168
- isPlaying: status === "playing" || status === "paused",
1169
- onTogglePause: togglePause,
1170
- onRestart: restart
1171
- }
1172
- ),
1173
- enableImageConfigPanel && isUserDefineMode ? /* @__PURE__ */ React.createElement(
1174
- LocalImageMappingPanel,
1175
- {
1176
- storageKey: orbImageStorageKey,
1177
- title: "\u7403\u4F53\u56FE\u7247\u914D\u7F6E\uFF08\u4FDD\u5B58\u5230\u672C\u5730\uFF09",
1178
- items: panelItems,
1179
- defaultValue: panelValue,
1180
- onValueChange: handlePanelValueChange
1181
- }
1182
- ) : null
1183
- );
1184
- }
1185
-
1186
- // src/mikuFusionGame/content/index.ts
1187
- var defaultContentRegistry = {
1188
- producers: [],
1189
- songs: [],
1190
- themes: []
1191
- };
1192
-
1193
- export { BASE_RADIUS, DEFAULT_MIKU_FUSION_CONFIG, LEVEL_LABEL_PREFIX, MikuFusionGame, RADIUS_STEP, defaultContentRegistry, useMikuFusionGame, useResponsiveCanvas };
1194
- //# sourceMappingURL=index.mjs.map
1195
- //# sourceMappingURL=index.mjs.map