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,1148 +0,0 @@
1
- 'use strict';
2
-
3
- var chunkVJNDOYEC_js = require('./chunk-VJNDOYEC.js');
4
- var chunkIS7O4LPI_js = require('./chunk-IS7O4LPI.js');
5
- var chunkMIDXG6LS_js = require('./chunk-MIDXG6LS.js');
6
- var chunkTXMX6PZR_js = require('./chunk-TXMX6PZR.js');
7
- var React7 = require('react');
8
- var lucideReact = require('lucide-react');
9
- var reactDom = require('react-dom');
10
- var clsx = require('clsx');
11
-
12
- function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
13
-
14
- var React7__default = /*#__PURE__*/_interopDefault(React7);
15
-
16
- function SignInForm({
17
- authClient,
18
- initialMode = "email-password",
19
- onSuccess,
20
- onError,
21
- children
22
- }) {
23
- const actions = chunkIS7O4LPI_js.useAuthActions(authClient);
24
- const [mode, setMode] = React7.useState(initialMode);
25
- const [step, setStep] = React7.useState("credentials");
26
- const [email, setEmail] = React7.useState("");
27
- const [phone, setPhone] = React7.useState("");
28
- const [password, setPassword] = React7.useState("");
29
- const [otp, setOtp] = React7.useState("");
30
- const [loading, setLoading] = React7.useState(false);
31
- const [error, setError] = React7.useState(null);
32
- const fail = (message) => {
33
- setError(message);
34
- onError?.(message);
35
- };
36
- const sendOtp = async () => {
37
- setLoading(true);
38
- setError(null);
39
- try {
40
- if (mode === "phone-otp") {
41
- if (!chunkMIDXG6LS_js.validatePhoneNumber(phone)) {
42
- fail("\u8BF7\u8F93\u5165\u6B63\u786E\u7684\u624B\u673A\u53F7");
43
- return;
44
- }
45
- const result = await actions.sendPhoneOtp(phone.trim());
46
- if (!result.success) {
47
- fail(result.error);
48
- return;
49
- }
50
- setStep("otp");
51
- } else if (mode === "email-otp") {
52
- if (!chunkMIDXG6LS_js.validateEmail(email)) {
53
- fail("\u8BF7\u8F93\u5165\u6B63\u786E\u7684\u90AE\u7BB1");
54
- return;
55
- }
56
- const result = await actions.sendEmailOtp(email.trim(), "sign-in");
57
- if (!result.success) {
58
- fail(result.error);
59
- return;
60
- }
61
- setStep("otp");
62
- }
63
- } finally {
64
- setLoading(false);
65
- }
66
- };
67
- const handleSubmit = async (e) => {
68
- e?.preventDefault();
69
- setLoading(true);
70
- setError(null);
71
- try {
72
- if (mode === "email-password") {
73
- if (!chunkMIDXG6LS_js.validateEmail(email)) return fail("\u8BF7\u8F93\u5165\u6B63\u786E\u7684\u90AE\u7BB1");
74
- const pwd = chunkMIDXG6LS_js.validatePassword(password);
75
- if (!pwd.valid) return fail(pwd.message ?? "\u5BC6\u7801\u65E0\u6548");
76
- const result = await actions.signInWithEmail(email.trim(), password);
77
- if (!result.success) return fail(result.error);
78
- onSuccess?.();
79
- return;
80
- }
81
- if (mode === "phone-password") {
82
- if (!chunkMIDXG6LS_js.validatePhoneNumber(phone)) return fail("\u8BF7\u8F93\u5165\u6B63\u786E\u7684\u624B\u673A\u53F7");
83
- const pwd = chunkMIDXG6LS_js.validatePassword(password);
84
- if (!pwd.valid) return fail(pwd.message ?? "\u5BC6\u7801\u65E0\u6548");
85
- const result = await actions.signInWithPhonePassword(phone.trim(), password);
86
- if (!result.success) return fail(result.error);
87
- onSuccess?.();
88
- return;
89
- }
90
- if (mode === "phone-otp") {
91
- if (step === "credentials") {
92
- await sendOtp();
93
- return;
94
- }
95
- if (!/^\d{4,8}$/.test(otp)) return fail("\u8BF7\u8F93\u5165\u9A8C\u8BC1\u7801");
96
- const result = await actions.verifyPhoneOtp(phone.trim(), otp);
97
- if (!result.success) return fail(result.error);
98
- onSuccess?.();
99
- return;
100
- }
101
- if (mode === "email-otp") {
102
- if (step === "credentials") {
103
- await sendOtp();
104
- return;
105
- }
106
- if (!/^\d{4,8}$/.test(otp)) return fail("\u8BF7\u8F93\u5165\u9A8C\u8BC1\u7801");
107
- const result = await actions.signInWithEmailOtp(email.trim(), otp);
108
- if (!result.success) return fail(result.error);
109
- onSuccess?.();
110
- }
111
- } finally {
112
- setLoading(false);
113
- }
114
- };
115
- const state = {
116
- mode,
117
- step,
118
- email,
119
- phone,
120
- password,
121
- otp,
122
- loading,
123
- error,
124
- setMode: (next) => {
125
- setMode(next);
126
- setStep("credentials");
127
- setError(null);
128
- },
129
- setEmail,
130
- setPhone,
131
- setPassword,
132
- setOtp,
133
- sendOtp,
134
- handleSubmit
135
- };
136
- return /* @__PURE__ */ React7__default.default.createElement(React7__default.default.Fragment, null, children(state));
137
- }
138
- function RegisterFormHeadless({
139
- authClient,
140
- initialChannel = "email",
141
- onSuccess,
142
- onError,
143
- children
144
- }) {
145
- const actions = chunkIS7O4LPI_js.useAuthActions(authClient);
146
- const [channel, setChannel] = React7.useState(initialChannel);
147
- const [step, setStep] = React7.useState("credentials");
148
- const [email, setEmail] = React7.useState("");
149
- const [phone, setPhone] = React7.useState("");
150
- const [password, setPassword] = React7.useState("");
151
- const [confirmPassword, setConfirmPassword] = React7.useState("");
152
- const [name, setName] = React7.useState("");
153
- const [otp, setOtp] = React7.useState("");
154
- const [loading, setLoading] = React7.useState(false);
155
- const [error, setError] = React7.useState(null);
156
- const fail = (message) => {
157
- setError(message);
158
- onError?.(message);
159
- };
160
- const sendOtp = async () => {
161
- setLoading(true);
162
- setError(null);
163
- try {
164
- if (!chunkMIDXG6LS_js.validatePhoneNumber(phone)) {
165
- fail("\u8BF7\u8F93\u5165\u6B63\u786E\u7684\u624B\u673A\u53F7");
166
- return;
167
- }
168
- const result = await actions.sendPhoneOtp(phone.trim());
169
- if (!result.success) {
170
- fail(result.error);
171
- return;
172
- }
173
- setStep("otp");
174
- } finally {
175
- setLoading(false);
176
- }
177
- };
178
- const handleSubmit = async (e) => {
179
- e?.preventDefault();
180
- setLoading(true);
181
- setError(null);
182
- try {
183
- if (channel === "email") {
184
- if (!chunkMIDXG6LS_js.validateEmail(email)) return fail("\u8BF7\u8F93\u5165\u6B63\u786E\u7684\u90AE\u7BB1");
185
- const pwd = chunkMIDXG6LS_js.validatePassword(password);
186
- if (!pwd.valid) return fail(pwd.message ?? "\u5BC6\u7801\u65E0\u6548");
187
- if (password !== confirmPassword) return fail("\u4E24\u6B21\u5BC6\u7801\u4E0D\u4E00\u81F4");
188
- if (!name.trim()) return fail("\u8BF7\u586B\u5199\u6635\u79F0");
189
- const result = await actions.signUpWithEmail(email.trim(), password, name.trim());
190
- if (!result.success) return fail(result.error);
191
- onSuccess?.();
192
- return;
193
- }
194
- if (step === "credentials") {
195
- const pwd = chunkMIDXG6LS_js.validatePassword(password);
196
- if (!pwd.valid) return fail(pwd.message ?? "\u5BC6\u7801\u65E0\u6548");
197
- if (password !== confirmPassword) return fail("\u4E24\u6B21\u5BC6\u7801\u4E0D\u4E00\u81F4");
198
- await sendOtp();
199
- return;
200
- }
201
- if (!/^\d{4,8}$/.test(otp)) return fail("\u8BF7\u8F93\u5165\u9A8C\u8BC1\u7801");
202
- const verify = await actions.verifyPhoneOtp(phone.trim(), otp);
203
- if (!verify.success) return fail(verify.error);
204
- onSuccess?.();
205
- } finally {
206
- setLoading(false);
207
- }
208
- };
209
- const state = {
210
- channel,
211
- step,
212
- email,
213
- phone,
214
- password,
215
- confirmPassword,
216
- name,
217
- otp,
218
- loading,
219
- error,
220
- setChannel: (next) => {
221
- setChannel(next);
222
- setStep("credentials");
223
- setError(null);
224
- },
225
- setEmail,
226
- setPhone,
227
- setPassword,
228
- setConfirmPassword,
229
- setName,
230
- setOtp,
231
- sendOtp,
232
- handleSubmit
233
- };
234
- return /* @__PURE__ */ React7__default.default.createElement(React7__default.default.Fragment, null, children(state));
235
- }
236
- function VerifyOtpForm({
237
- authClient,
238
- channel,
239
- target,
240
- onSuccess,
241
- onError,
242
- children
243
- }) {
244
- const actions = chunkIS7O4LPI_js.useAuthActions(authClient);
245
- const [otp, setOtp] = React7.useState("");
246
- const [loading, setLoading] = React7.useState(false);
247
- const [error, setError] = React7.useState(null);
248
- const fail = (message) => {
249
- setError(message);
250
- onError?.(message);
251
- };
252
- const resendOtp = async () => {
253
- setLoading(true);
254
- setError(null);
255
- try {
256
- if (channel === "phone") {
257
- if (!chunkMIDXG6LS_js.validatePhoneNumber(target)) return fail("\u624B\u673A\u53F7\u65E0\u6548");
258
- const result = await actions.sendPhoneOtp(target.trim());
259
- if (!result.success) fail(result.error);
260
- } else {
261
- if (!chunkMIDXG6LS_js.validateEmail(target)) return fail("\u90AE\u7BB1\u65E0\u6548");
262
- const result = await actions.sendEmailOtp(target.trim(), "sign-in");
263
- if (!result.success) fail(result.error);
264
- }
265
- } finally {
266
- setLoading(false);
267
- }
268
- };
269
- const handleSubmit = async (e) => {
270
- e?.preventDefault();
271
- setLoading(true);
272
- setError(null);
273
- try {
274
- if (!/^\d{4,8}$/.test(otp)) return fail("\u8BF7\u8F93\u5165\u9A8C\u8BC1\u7801");
275
- if (channel === "phone") {
276
- const result = await actions.verifyPhoneOtp(target.trim(), otp);
277
- if (!result.success) return fail(result.error);
278
- } else {
279
- const result = await actions.signInWithEmailOtp(target.trim(), otp);
280
- if (!result.success) return fail(result.error);
281
- }
282
- onSuccess?.();
283
- } finally {
284
- setLoading(false);
285
- }
286
- };
287
- const state = {
288
- channel,
289
- target,
290
- otp,
291
- loading,
292
- error,
293
- setOtp,
294
- resendOtp,
295
- handleSubmit
296
- };
297
- return /* @__PURE__ */ React7__default.default.createElement(React7__default.default.Fragment, null, children(state));
298
- }
299
- var overlayClass = "fixed top-0 left-0 right-0 bottom-0 w-screen h-screen bg-black/50 backdrop-blur-sm flex items-center justify-center z-[9999] p-4";
300
- var panelClass = "bg-white rounded-2xl shadow-xl w-full max-w-[420px] max-h-[90vh] overflow-y-auto relative";
301
- var closeBtnClass = "absolute top-5 right-5 bg-transparent border-none text-gray-500 cursor-pointer p-2 rounded-lg transition-all hover:bg-gray-100 hover:text-gray-700 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2 min-w-9 min-h-9 flex items-center justify-center";
302
- var inputClass = "w-full py-3 px-4 pl-12 border-2 border-gray-200 rounded-lg text-base transition-all box-border min-h-12 bg-white focus:outline-none focus:border-blue-500 focus:ring-2 focus:ring-blue-500/10 placeholder:text-gray-400 disabled:bg-gray-50 disabled:text-gray-500 disabled:cursor-not-allowed";
303
- var submitClass = "w-full bg-blue-500 text-white border-none py-3.5 px-6 rounded-lg text-base font-medium cursor-pointer transition-all mt-2 min-h-[52px] hover:bg-blue-600 hover:-translate-y-0.5 hover:shadow-lg hover:shadow-blue-500/30 active:translate-y-0 disabled:bg-gray-400 disabled:cursor-not-allowed disabled:transform-none disabled:shadow-none focus:outline-none focus:ring-2 focus:ring-blue-700 focus:ring-offset-2";
304
- var errorClass = "text-red-500 text-sm my-4 p-3 bg-red-50 border border-red-200 rounded-lg leading-relaxed";
305
- var linkBtnClass = "bg-transparent border-none text-blue-500 cursor-pointer text-sm font-medium underline px-1 py-0.5 rounded transition-all hover:text-blue-600 hover:bg-blue-50 hover:no-underline focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2";
306
- function useClientMounted() {
307
- const [mounted, setMounted] = React7.useState(false);
308
- React7.useEffect(() => setMounted(true), []);
309
- return mounted;
310
- }
311
- function AuthModalPortal({ children }) {
312
- const mounted = useClientMounted();
313
- if (!mounted) return null;
314
- return reactDom.createPortal(children, document.body);
315
- }
316
- var authModalStyles = {
317
- overlayClass,
318
- panelClass,
319
- closeBtnClass,
320
- inputClass,
321
- submitClass,
322
- errorClass,
323
- linkBtnClass
324
- };
325
- function ForgotPasswordModal({ isOpen, onClose, onSuccess }) {
326
- const { requestPhonePasswordReset, resetPhonePassword } = chunkVJNDOYEC_js.useAuthContext();
327
- const [phone, setPhone] = React7.useState("");
328
- const [otp, setOtp] = React7.useState("");
329
- const [newPassword, setNewPassword] = React7.useState("");
330
- const [confirmPassword, setConfirmPassword] = React7.useState("");
331
- const [showPassword, setShowPassword] = React7.useState(false);
332
- const [showConfirmPassword, setShowConfirmPassword] = React7.useState(false);
333
- const [error, setError] = React7.useState("");
334
- const [loading, setLoading] = React7.useState(false);
335
- const [countdown, setCountdown] = React7.useState(0);
336
- const startCountdown = () => {
337
- setCountdown(60);
338
- const timer = setInterval(() => {
339
- setCountdown((prev) => {
340
- if (prev <= 1) {
341
- clearInterval(timer);
342
- return 0;
343
- }
344
- return prev - 1;
345
- });
346
- }, 1e3);
347
- };
348
- const handleSendCode = async () => {
349
- setError("");
350
- if (!chunkMIDXG6LS_js.validatePhoneNumber(phone)) {
351
- setError("\u8BF7\u8F93\u5165\u6B63\u786E\u7684\u624B\u673A\u53F7");
352
- return;
353
- }
354
- setLoading(true);
355
- try {
356
- const result = await requestPhonePasswordReset(phone.trim());
357
- if (!result.success) {
358
- setError(result.error);
359
- return;
360
- }
361
- startCountdown();
362
- } finally {
363
- setLoading(false);
364
- }
365
- };
366
- const handleSubmit = async (e) => {
367
- e.preventDefault();
368
- setError("");
369
- if (!chunkMIDXG6LS_js.validatePhoneNumber(phone)) return setError("\u8BF7\u8F93\u5165\u6B63\u786E\u7684\u624B\u673A\u53F7");
370
- const pwd = chunkMIDXG6LS_js.validatePassword(newPassword);
371
- if (!pwd.valid) return setError(pwd.message ?? "\u5BC6\u7801\u65E0\u6548");
372
- if (newPassword !== confirmPassword) return setError("\u4E24\u6B21\u5BC6\u7801\u4E0D\u4E00\u81F4");
373
- if (!/^\d{4,8}$/.test(otp)) return setError("\u8BF7\u8F93\u5165\u9A8C\u8BC1\u7801");
374
- setLoading(true);
375
- try {
376
- const result = await resetPhonePassword(phone.trim(), otp, newPassword);
377
- if (!result.success) {
378
- setError(result.error);
379
- return;
380
- }
381
- onSuccess?.();
382
- } finally {
383
- setLoading(false);
384
- }
385
- };
386
- if (!isOpen) return null;
387
- return /* @__PURE__ */ React7__default.default.createElement(AuthModalPortal, null, /* @__PURE__ */ React7__default.default.createElement("div", { className: authModalStyles.overlayClass, style: { margin: 0 }, onClick: (e) => e.target === e.currentTarget && onClose() }, /* @__PURE__ */ React7__default.default.createElement("div", { className: authModalStyles.panelClass, onClick: (e) => e.stopPropagation() }, /* @__PURE__ */ React7__default.default.createElement("button", { type: "button", className: authModalStyles.closeBtnClass, onClick: onClose }, /* @__PURE__ */ React7__default.default.createElement(lucideReact.X, { size: 20 })), /* @__PURE__ */ React7__default.default.createElement("div", { className: "px-6 pt-6 pb-4 text-center border-b border-gray-100" }, /* @__PURE__ */ React7__default.default.createElement("h2", { className: "text-2xl font-semibold text-gray-800 mb-2" }, "\u91CD\u7F6E\u5BC6\u7801"), /* @__PURE__ */ React7__default.default.createElement("p", { className: "text-gray-500 text-sm" }, "\u8BF7\u8F93\u5165\u624B\u673A\u53F7\u548C\u9A8C\u8BC1\u7801\u91CD\u7F6E\u5BC6\u7801")), /* @__PURE__ */ React7__default.default.createElement("form", { onSubmit: handleSubmit, className: "p-6" }, /* @__PURE__ */ React7__default.default.createElement("div", { className: "mb-5" }, /* @__PURE__ */ React7__default.default.createElement("label", { htmlFor: "reset-phone", className: "block mb-1.5 text-sm font-medium text-gray-700" }, "\u624B\u673A\u53F7"), /* @__PURE__ */ React7__default.default.createElement("div", { className: "relative flex items-center" }, /* @__PURE__ */ React7__default.default.createElement(lucideReact.Phone, { size: 18, className: "absolute left-4 text-gray-400 z-[1] pointer-events-none" }), /* @__PURE__ */ React7__default.default.createElement(
388
- "input",
389
- {
390
- id: "reset-phone",
391
- type: "tel",
392
- value: phone,
393
- onChange: (e) => setPhone(e.target.value),
394
- placeholder: "\u8BF7\u8F93\u5165\u624B\u673A\u53F7",
395
- className: authModalStyles.inputClass,
396
- disabled: loading
397
- }
398
- ))), /* @__PURE__ */ React7__default.default.createElement("div", { className: "mb-5" }, /* @__PURE__ */ React7__default.default.createElement("label", { htmlFor: "reset-otp", className: "block mb-1.5 text-sm font-medium text-gray-700" }, "\u9A8C\u8BC1\u7801"), /* @__PURE__ */ React7__default.default.createElement("div", { className: "relative flex items-center" }, /* @__PURE__ */ React7__default.default.createElement(
399
- "input",
400
- {
401
- id: "reset-otp",
402
- type: "text",
403
- inputMode: "numeric",
404
- value: otp,
405
- onChange: (e) => setOtp(e.target.value),
406
- placeholder: "\u8BF7\u8F93\u5165\u9A8C\u8BC1\u7801",
407
- className: "w-full py-3 px-4 pr-28 border-2 border-gray-200 rounded-lg text-base transition-all box-border min-h-12 bg-white focus:outline-none focus:border-blue-500 focus:ring-2 focus:ring-blue-500/10",
408
- disabled: loading,
409
- maxLength: 8
410
- }
411
- ), /* @__PURE__ */ React7__default.default.createElement(
412
- "button",
413
- {
414
- type: "button",
415
- className: "absolute right-2 top-1/2 -translate-y-1/2 bg-transparent border-none text-blue-500 text-sm font-medium cursor-pointer px-2 py-1 rounded transition-all whitespace-nowrap hover:bg-blue-50 disabled:text-gray-400 disabled:cursor-not-allowed",
416
- onClick: handleSendCode,
417
- disabled: loading || countdown > 0
418
- },
419
- countdown > 0 ? `${countdown}\u79D2\u540E\u91CD\u8BD5` : "\u53D1\u9001\u9A8C\u8BC1\u7801"
420
- ))), /* @__PURE__ */ React7__default.default.createElement("div", { className: "mb-5" }, /* @__PURE__ */ React7__default.default.createElement("label", { htmlFor: "reset-password", className: "block mb-1.5 text-sm font-medium text-gray-700" }, "\u65B0\u5BC6\u7801"), /* @__PURE__ */ React7__default.default.createElement("div", { className: "relative flex items-center" }, /* @__PURE__ */ React7__default.default.createElement(lucideReact.Lock, { size: 18, className: "absolute left-4 text-gray-400 z-[1] pointer-events-none" }), /* @__PURE__ */ React7__default.default.createElement(
421
- "input",
422
- {
423
- id: "reset-password",
424
- type: showPassword ? "text" : "password",
425
- value: newPassword,
426
- onChange: (e) => setNewPassword(e.target.value),
427
- placeholder: "\u8BF7\u8F93\u5165\u65B0\u5BC6\u7801",
428
- className: `${authModalStyles.inputClass} pr-12`,
429
- disabled: loading
430
- }
431
- ), /* @__PURE__ */ React7__default.default.createElement(
432
- "button",
433
- {
434
- type: "button",
435
- className: "absolute right-4 bg-transparent border-none text-gray-400 cursor-pointer p-1 rounded transition-all flex items-center justify-center min-w-6 min-h-6 hover:text-gray-600 hover:bg-gray-100",
436
- onClick: () => setShowPassword((v) => !v),
437
- disabled: loading
438
- },
439
- showPassword ? /* @__PURE__ */ React7__default.default.createElement(lucideReact.EyeOff, { size: 18 }) : /* @__PURE__ */ React7__default.default.createElement(lucideReact.Eye, { size: 18 })
440
- ))), /* @__PURE__ */ React7__default.default.createElement("div", { className: "mb-5" }, /* @__PURE__ */ React7__default.default.createElement("label", { htmlFor: "reset-confirm-password", className: "block mb-1.5 text-sm font-medium text-gray-700" }, "\u786E\u8BA4\u5BC6\u7801"), /* @__PURE__ */ React7__default.default.createElement("div", { className: "relative flex items-center" }, /* @__PURE__ */ React7__default.default.createElement(lucideReact.Lock, { size: 18, className: "absolute left-4 text-gray-400 z-[1] pointer-events-none" }), /* @__PURE__ */ React7__default.default.createElement(
441
- "input",
442
- {
443
- id: "reset-confirm-password",
444
- type: showConfirmPassword ? "text" : "password",
445
- value: confirmPassword,
446
- onChange: (e) => setConfirmPassword(e.target.value),
447
- placeholder: "\u8BF7\u518D\u6B21\u8F93\u5165\u65B0\u5BC6\u7801",
448
- className: `${authModalStyles.inputClass} pr-12`,
449
- disabled: loading
450
- }
451
- ), /* @__PURE__ */ React7__default.default.createElement(
452
- "button",
453
- {
454
- type: "button",
455
- className: "absolute right-4 bg-transparent border-none text-gray-400 cursor-pointer p-1 rounded transition-all flex items-center justify-center min-w-6 min-h-6 hover:text-gray-600 hover:bg-gray-100",
456
- onClick: () => setShowConfirmPassword((v) => !v),
457
- disabled: loading
458
- },
459
- showConfirmPassword ? /* @__PURE__ */ React7__default.default.createElement(lucideReact.EyeOff, { size: 18 }) : /* @__PURE__ */ React7__default.default.createElement(lucideReact.Eye, { size: 18 })
460
- ))), error && /* @__PURE__ */ React7__default.default.createElement("div", { className: authModalStyles.errorClass }, error), /* @__PURE__ */ React7__default.default.createElement("button", { type: "submit", className: authModalStyles.submitClass, disabled: loading }, loading ? "\u63D0\u4EA4\u4E2D..." : "\u91CD\u7F6E\u5BC6\u7801")))));
461
- }
462
-
463
- // src/common/auth/components/styled/LoginModal.tsx
464
- var MODE_LABELS = {
465
- "phone-password": "\u624B\u673A\u5BC6\u7801",
466
- "email-password": "\u90AE\u7BB1\u5BC6\u7801",
467
- "phone-otp": "\u624B\u673A\u9A8C\u8BC1\u7801",
468
- "email-otp": "\u90AE\u7BB1\u9A8C\u8BC1\u7801"
469
- };
470
- function LoginModal({
471
- isOpen,
472
- onClose,
473
- onSuccess,
474
- onSwitchToRegister,
475
- defaultMode = "phone-password"
476
- }) {
477
- const { authClient, refreshSession } = chunkVJNDOYEC_js.useAuthContext();
478
- const [showPassword, setShowPassword] = React7.useState(false);
479
- const [showForgotPassword, setShowForgotPassword] = React7.useState(false);
480
- const handleSuccess = async () => {
481
- await refreshSession();
482
- onSuccess?.();
483
- };
484
- if (!isOpen) return null;
485
- return /* @__PURE__ */ React7__default.default.createElement(AuthModalPortal, null, /* @__PURE__ */ React7__default.default.createElement("div", { className: authModalStyles.overlayClass, style: { margin: 0 }, onClick: (e) => e.target === e.currentTarget && onClose() }, /* @__PURE__ */ React7__default.default.createElement(SignInForm, { authClient, initialMode: defaultMode, onSuccess: handleSuccess }, (state) => /* @__PURE__ */ React7__default.default.createElement("div", { className: authModalStyles.panelClass, onClick: (e) => e.stopPropagation() }, /* @__PURE__ */ React7__default.default.createElement("button", { type: "button", className: authModalStyles.closeBtnClass, onClick: onClose }, /* @__PURE__ */ React7__default.default.createElement(lucideReact.X, { size: 20 })), /* @__PURE__ */ React7__default.default.createElement("div", { className: "px-6 pt-6 pb-4 text-center border-b border-gray-100" }, /* @__PURE__ */ React7__default.default.createElement("h2", { className: "text-2xl font-semibold text-gray-800 mb-2" }, "\u7528\u6237\u767B\u5F55"), /* @__PURE__ */ React7__default.default.createElement("p", { className: "text-gray-500 text-sm" }, "\u9009\u62E9\u767B\u5F55\u65B9\u5F0F\u5E76\u586B\u5199\u4FE1\u606F")), /* @__PURE__ */ React7__default.default.createElement("div", { className: "px-6 pt-4 flex flex-wrap gap-2" }, Object.keys(MODE_LABELS).map((mode) => /* @__PURE__ */ React7__default.default.createElement(
486
- "button",
487
- {
488
- key: mode,
489
- type: "button",
490
- onClick: () => state.setMode(mode),
491
- className: `px-3 py-1.5 text-xs rounded-full border transition-all ${state.mode === mode ? "bg-blue-500 text-white border-blue-500" : "bg-white text-gray-600 border-gray-200 hover:border-blue-300"}`
492
- },
493
- MODE_LABELS[mode]
494
- ))), /* @__PURE__ */ React7__default.default.createElement("form", { onSubmit: state.handleSubmit, className: "p-6" }, (state.mode === "email-password" || state.mode === "email-otp") && state.step === "credentials" && /* @__PURE__ */ React7__default.default.createElement("div", { className: "mb-5" }, /* @__PURE__ */ React7__default.default.createElement("label", { htmlFor: "login-email", className: "block mb-1.5 text-sm font-medium text-gray-700" }, "\u90AE\u7BB1"), /* @__PURE__ */ React7__default.default.createElement("div", { className: "relative flex items-center" }, /* @__PURE__ */ React7__default.default.createElement(lucideReact.Mail, { size: 18, className: "absolute left-4 text-gray-400 z-[1] pointer-events-none" }), /* @__PURE__ */ React7__default.default.createElement(
495
- "input",
496
- {
497
- id: "login-email",
498
- type: "email",
499
- autoComplete: "email",
500
- value: state.email,
501
- onChange: (e) => state.setEmail(e.target.value),
502
- placeholder: "\u8BF7\u8F93\u5165\u90AE\u7BB1",
503
- className: authModalStyles.inputClass,
504
- disabled: state.loading
505
- }
506
- ))), (state.mode === "phone-password" || state.mode === "phone-otp") && state.step === "credentials" && /* @__PURE__ */ React7__default.default.createElement("div", { className: "mb-5" }, /* @__PURE__ */ React7__default.default.createElement("label", { htmlFor: "login-phone", className: "block mb-1.5 text-sm font-medium text-gray-700" }, "\u624B\u673A\u53F7"), /* @__PURE__ */ React7__default.default.createElement("div", { className: "relative flex items-center" }, /* @__PURE__ */ React7__default.default.createElement(lucideReact.Phone, { size: 18, className: "absolute left-4 text-gray-400 z-[1] pointer-events-none" }), /* @__PURE__ */ React7__default.default.createElement(
507
- "input",
508
- {
509
- id: "login-phone",
510
- type: "tel",
511
- autoComplete: "tel",
512
- value: state.phone,
513
- onChange: (e) => state.setPhone(e.target.value),
514
- placeholder: "\u8BF7\u8F93\u5165\u624B\u673A\u53F7",
515
- className: authModalStyles.inputClass,
516
- disabled: state.loading
517
- }
518
- ))), (state.mode === "email-password" || state.mode === "phone-password") && /* @__PURE__ */ React7__default.default.createElement("div", { className: "mb-5" }, /* @__PURE__ */ React7__default.default.createElement("label", { htmlFor: "login-password", className: "block mb-1.5 text-sm font-medium text-gray-700" }, "\u5BC6\u7801"), /* @__PURE__ */ React7__default.default.createElement("div", { className: "relative flex items-center" }, /* @__PURE__ */ React7__default.default.createElement(lucideReact.Lock, { size: 18, className: "absolute left-4 text-gray-400 z-[1] pointer-events-none" }), /* @__PURE__ */ React7__default.default.createElement(
519
- "input",
520
- {
521
- id: "login-password",
522
- type: showPassword ? "text" : "password",
523
- autoComplete: "current-password",
524
- value: state.password,
525
- onChange: (e) => state.setPassword(e.target.value),
526
- placeholder: "\u8BF7\u8F93\u5165\u5BC6\u7801",
527
- className: `${authModalStyles.inputClass} pr-12`,
528
- disabled: state.loading
529
- }
530
- ), /* @__PURE__ */ React7__default.default.createElement(
531
- "button",
532
- {
533
- type: "button",
534
- className: "absolute right-4 bg-transparent border-none text-gray-400 cursor-pointer p-1 rounded transition-all flex items-center justify-center min-w-6 min-h-6 hover:text-gray-600 hover:bg-gray-100",
535
- onClick: () => setShowPassword((v) => !v),
536
- disabled: state.loading
537
- },
538
- showPassword ? /* @__PURE__ */ React7__default.default.createElement(lucideReact.EyeOff, { size: 18 }) : /* @__PURE__ */ React7__default.default.createElement(lucideReact.Eye, { size: 18 })
539
- ))), (state.mode === "phone-otp" || state.mode === "email-otp") && state.step === "otp" && /* @__PURE__ */ React7__default.default.createElement("div", { className: "mb-5" }, /* @__PURE__ */ React7__default.default.createElement("label", { htmlFor: "login-otp", className: "block mb-1.5 text-sm font-medium text-gray-700" }, "\u9A8C\u8BC1\u7801"), /* @__PURE__ */ React7__default.default.createElement("div", { className: "relative flex items-center" }, /* @__PURE__ */ React7__default.default.createElement(lucideReact.User, { size: 18, className: "absolute left-4 text-gray-400 z-[1] pointer-events-none" }), /* @__PURE__ */ React7__default.default.createElement(
540
- "input",
541
- {
542
- id: "login-otp",
543
- type: "text",
544
- inputMode: "numeric",
545
- value: state.otp,
546
- onChange: (e) => state.setOtp(e.target.value),
547
- placeholder: "\u8BF7\u8F93\u5165\u9A8C\u8BC1\u7801",
548
- className: authModalStyles.inputClass,
549
- disabled: state.loading,
550
- maxLength: 8
551
- }
552
- ))), (state.mode === "phone-password" || state.mode === "phone-otp") && state.step === "credentials" && /* @__PURE__ */ React7__default.default.createElement("div", { className: "text-right -mt-2 mb-4" }, /* @__PURE__ */ React7__default.default.createElement("button", { type: "button", onClick: () => setShowForgotPassword(true), className: authModalStyles.linkBtnClass }, "\u5FD8\u8BB0\u5BC6\u7801\uFF1F")), state.error && /* @__PURE__ */ React7__default.default.createElement("div", { className: authModalStyles.errorClass }, state.error), /* @__PURE__ */ React7__default.default.createElement("button", { type: "submit", className: authModalStyles.submitClass, disabled: state.loading }, state.loading ? "\u5904\u7406\u4E2D..." : state.step === "otp" ? "\u9A8C\u8BC1\u5E76\u767B\u5F55" : state.mode === "phone-otp" || state.mode === "email-otp" ? "\u53D1\u9001\u9A8C\u8BC1\u7801" : "\u767B\u5F55"), onSwitchToRegister && /* @__PURE__ */ React7__default.default.createElement("div", { className: "text-center mt-5 pt-4 border-t border-gray-100" }, /* @__PURE__ */ React7__default.default.createElement("span", { className: "text-gray-500 text-sm mr-1" }, "\u8FD8\u6CA1\u6709\u8D26\u53F7\uFF1F"), /* @__PURE__ */ React7__default.default.createElement("button", { type: "button", onClick: onSwitchToRegister, className: authModalStyles.linkBtnClass }, "\u7ACB\u5373\u6CE8\u518C")))))), /* @__PURE__ */ React7__default.default.createElement(
553
- ForgotPasswordModal,
554
- {
555
- isOpen: showForgotPassword,
556
- onClose: () => setShowForgotPassword(false),
557
- onSuccess: () => {
558
- setShowForgotPassword(false);
559
- handleSuccess();
560
- }
561
- }
562
- ));
563
- }
564
- function RegisterModal({ isOpen, onClose, onSuccess, onSwitchToLogin }) {
565
- const { authClient, refreshSession } = chunkVJNDOYEC_js.useAuthContext();
566
- const [showPassword, setShowPassword] = React7.useState(false);
567
- const [showConfirmPassword, setShowConfirmPassword] = React7.useState(false);
568
- const handleSuccess = async () => {
569
- await refreshSession();
570
- onSuccess?.();
571
- };
572
- if (!isOpen) return null;
573
- return /* @__PURE__ */ React7__default.default.createElement(AuthModalPortal, null, /* @__PURE__ */ React7__default.default.createElement("div", { className: authModalStyles.overlayClass, style: { margin: 0 }, onClick: (e) => e.target === e.currentTarget && onClose() }, /* @__PURE__ */ React7__default.default.createElement(RegisterFormHeadless, { authClient, initialChannel: "phone", onSuccess: handleSuccess }, (state) => /* @__PURE__ */ React7__default.default.createElement("div", { className: authModalStyles.panelClass, onClick: (e) => e.stopPropagation() }, /* @__PURE__ */ React7__default.default.createElement("button", { type: "button", className: authModalStyles.closeBtnClass, onClick: onClose }, /* @__PURE__ */ React7__default.default.createElement(lucideReact.X, { size: 20 })), /* @__PURE__ */ React7__default.default.createElement("div", { className: "px-6 pt-6 pb-4 text-center border-b border-gray-100" }, /* @__PURE__ */ React7__default.default.createElement("h2", { className: "text-2xl font-semibold text-gray-800 mb-2" }, "\u7528\u6237\u6CE8\u518C"), /* @__PURE__ */ React7__default.default.createElement("p", { className: "text-gray-500 text-sm" }, "\u8BF7\u586B\u5199\u4EE5\u4E0B\u4FE1\u606F\u521B\u5EFA\u8D26\u6237")), /* @__PURE__ */ React7__default.default.createElement("div", { className: "px-6 pt-4 flex gap-2" }, /* @__PURE__ */ React7__default.default.createElement(
574
- "button",
575
- {
576
- type: "button",
577
- onClick: () => state.setChannel("phone"),
578
- className: `px-3 py-1.5 text-xs rounded-full border transition-all ${state.channel === "phone" ? "bg-blue-500 text-white border-blue-500" : "bg-white text-gray-600 border-gray-200 hover:border-blue-300"}`
579
- },
580
- "\u624B\u673A\u53F7\u6CE8\u518C"
581
- ), /* @__PURE__ */ React7__default.default.createElement(
582
- "button",
583
- {
584
- type: "button",
585
- onClick: () => state.setChannel("email"),
586
- className: `px-3 py-1.5 text-xs rounded-full border transition-all ${state.channel === "email" ? "bg-blue-500 text-white border-blue-500" : "bg-white text-gray-600 border-gray-200 hover:border-blue-300"}`
587
- },
588
- "\u90AE\u7BB1\u6CE8\u518C"
589
- )), /* @__PURE__ */ React7__default.default.createElement("form", { onSubmit: state.handleSubmit, className: "p-6" }, state.channel === "email" && /* @__PURE__ */ React7__default.default.createElement("div", { className: "mb-5" }, /* @__PURE__ */ React7__default.default.createElement("label", { htmlFor: "register-email", className: "block mb-1.5 text-sm font-medium text-gray-700" }, "\u90AE\u7BB1 *"), /* @__PURE__ */ React7__default.default.createElement("div", { className: "relative flex items-center" }, /* @__PURE__ */ React7__default.default.createElement(lucideReact.Mail, { size: 18, className: "absolute left-4 text-gray-400 z-[1] pointer-events-none" }), /* @__PURE__ */ React7__default.default.createElement(
590
- "input",
591
- {
592
- id: "register-email",
593
- type: "email",
594
- autoComplete: "email",
595
- value: state.email,
596
- onChange: (e) => state.setEmail(e.target.value),
597
- placeholder: "\u8BF7\u8F93\u5165\u90AE\u7BB1",
598
- className: authModalStyles.inputClass,
599
- disabled: state.loading
600
- }
601
- ))), state.channel === "phone" && state.step === "credentials" && /* @__PURE__ */ React7__default.default.createElement("div", { className: "mb-5" }, /* @__PURE__ */ React7__default.default.createElement("label", { htmlFor: "register-phone", className: "block mb-1.5 text-sm font-medium text-gray-700" }, "\u624B\u673A\u53F7 *"), /* @__PURE__ */ React7__default.default.createElement("div", { className: "relative flex items-center" }, /* @__PURE__ */ React7__default.default.createElement(lucideReact.Phone, { size: 18, className: "absolute left-4 text-gray-400 z-[1] pointer-events-none" }), /* @__PURE__ */ React7__default.default.createElement(
602
- "input",
603
- {
604
- id: "register-phone",
605
- type: "tel",
606
- autoComplete: "tel",
607
- value: state.phone,
608
- onChange: (e) => state.setPhone(e.target.value),
609
- placeholder: "\u8BF7\u8F93\u5165\u624B\u673A\u53F7",
610
- className: authModalStyles.inputClass,
611
- disabled: state.loading
612
- }
613
- ))), state.channel === "email" && /* @__PURE__ */ React7__default.default.createElement("div", { className: "mb-5" }, /* @__PURE__ */ React7__default.default.createElement("label", { htmlFor: "register-name", className: "block mb-1.5 text-sm font-medium text-gray-700" }, "\u6635\u79F0 *"), /* @__PURE__ */ React7__default.default.createElement("div", { className: "relative flex items-center" }, /* @__PURE__ */ React7__default.default.createElement(lucideReact.User, { size: 18, className: "absolute left-4 text-gray-400 z-[1] pointer-events-none" }), /* @__PURE__ */ React7__default.default.createElement(
614
- "input",
615
- {
616
- id: "register-name",
617
- type: "text",
618
- autoComplete: "name",
619
- value: state.name,
620
- onChange: (e) => state.setName(e.target.value),
621
- placeholder: "\u8BF7\u8F93\u5165\u6635\u79F0",
622
- className: authModalStyles.inputClass,
623
- disabled: state.loading
624
- }
625
- ))), state.step === "credentials" && /* @__PURE__ */ React7__default.default.createElement(React7__default.default.Fragment, null, /* @__PURE__ */ React7__default.default.createElement("div", { className: "mb-5" }, /* @__PURE__ */ React7__default.default.createElement("label", { htmlFor: "register-password", className: "block mb-1.5 text-sm font-medium text-gray-700" }, "\u5BC6\u7801 *"), /* @__PURE__ */ React7__default.default.createElement("div", { className: "relative flex items-center" }, /* @__PURE__ */ React7__default.default.createElement(lucideReact.Lock, { size: 18, className: "absolute left-4 text-gray-400 z-[1] pointer-events-none" }), /* @__PURE__ */ React7__default.default.createElement(
626
- "input",
627
- {
628
- id: "register-password",
629
- type: showPassword ? "text" : "password",
630
- autoComplete: "new-password",
631
- value: state.password,
632
- onChange: (e) => state.setPassword(e.target.value),
633
- placeholder: "\u8BF7\u8F93\u5165\u5BC6\u7801\uFF08\u81F3\u5C116\u4F4D\uFF09",
634
- className: `${authModalStyles.inputClass} pr-12`,
635
- disabled: state.loading
636
- }
637
- ), /* @__PURE__ */ React7__default.default.createElement(
638
- "button",
639
- {
640
- type: "button",
641
- className: "absolute right-4 bg-transparent border-none text-gray-400 cursor-pointer p-1 rounded transition-all flex items-center justify-center min-w-6 min-h-6 hover:text-gray-600 hover:bg-gray-100",
642
- onClick: () => setShowPassword((v) => !v),
643
- disabled: state.loading
644
- },
645
- showPassword ? /* @__PURE__ */ React7__default.default.createElement(lucideReact.EyeOff, { size: 18 }) : /* @__PURE__ */ React7__default.default.createElement(lucideReact.Eye, { size: 18 })
646
- ))), /* @__PURE__ */ React7__default.default.createElement("div", { className: "mb-5" }, /* @__PURE__ */ React7__default.default.createElement("label", { htmlFor: "register-confirm-password", className: "block mb-1.5 text-sm font-medium text-gray-700" }, "\u786E\u8BA4\u5BC6\u7801 *"), /* @__PURE__ */ React7__default.default.createElement("div", { className: "relative flex items-center" }, /* @__PURE__ */ React7__default.default.createElement(lucideReact.Lock, { size: 18, className: "absolute left-4 text-gray-400 z-[1] pointer-events-none" }), /* @__PURE__ */ React7__default.default.createElement(
647
- "input",
648
- {
649
- id: "register-confirm-password",
650
- type: showConfirmPassword ? "text" : "password",
651
- autoComplete: "new-password",
652
- value: state.confirmPassword,
653
- onChange: (e) => state.setConfirmPassword(e.target.value),
654
- placeholder: "\u8BF7\u518D\u6B21\u8F93\u5165\u5BC6\u7801",
655
- className: `${authModalStyles.inputClass} pr-12`,
656
- disabled: state.loading
657
- }
658
- ), /* @__PURE__ */ React7__default.default.createElement(
659
- "button",
660
- {
661
- type: "button",
662
- className: "absolute right-4 bg-transparent border-none text-gray-400 cursor-pointer p-1 rounded transition-all flex items-center justify-center min-w-6 min-h-6 hover:text-gray-600 hover:bg-gray-100",
663
- onClick: () => setShowConfirmPassword((v) => !v),
664
- disabled: state.loading
665
- },
666
- showConfirmPassword ? /* @__PURE__ */ React7__default.default.createElement(lucideReact.EyeOff, { size: 18 }) : /* @__PURE__ */ React7__default.default.createElement(lucideReact.Eye, { size: 18 })
667
- )))), state.channel === "phone" && state.step === "otp" && /* @__PURE__ */ React7__default.default.createElement("div", { className: "mb-5" }, /* @__PURE__ */ React7__default.default.createElement("label", { htmlFor: "register-otp", className: "block mb-1.5 text-sm font-medium text-gray-700" }, "\u9A8C\u8BC1\u7801 *"), /* @__PURE__ */ React7__default.default.createElement(
668
- "input",
669
- {
670
- id: "register-otp",
671
- type: "text",
672
- inputMode: "numeric",
673
- value: state.otp,
674
- onChange: (e) => state.setOtp(e.target.value),
675
- placeholder: "\u8BF7\u8F93\u5165\u9A8C\u8BC1\u7801",
676
- className: "w-full py-3 px-4 border-2 border-gray-200 rounded-lg text-base transition-all box-border min-h-12 bg-white focus:outline-none focus:border-blue-500 focus:ring-2 focus:ring-blue-500/10",
677
- disabled: state.loading,
678
- maxLength: 8
679
- }
680
- )), state.error && /* @__PURE__ */ React7__default.default.createElement("div", { className: authModalStyles.errorClass }, state.error), /* @__PURE__ */ React7__default.default.createElement("button", { type: "submit", className: authModalStyles.submitClass, disabled: state.loading }, state.loading ? "\u5904\u7406\u4E2D..." : state.channel === "phone" && state.step === "credentials" ? "\u53D1\u9001\u9A8C\u8BC1\u7801" : state.channel === "phone" && state.step === "otp" ? "\u5B8C\u6210\u6CE8\u518C" : "\u6CE8\u518C"), onSwitchToLogin && /* @__PURE__ */ React7__default.default.createElement("div", { className: "text-center mt-5 pt-4 border-t border-gray-100" }, /* @__PURE__ */ React7__default.default.createElement("span", { className: "text-gray-500 text-sm mr-1" }, "\u5DF2\u6709\u8D26\u53F7\uFF1F"), /* @__PURE__ */ React7__default.default.createElement("button", { type: "button", onClick: onSwitchToLogin, className: authModalStyles.linkBtnClass }, "\u7ACB\u5373\u767B\u5F55")))))));
681
- }
682
- function AuthGuard({ children, fallback, requireAuth = true }) {
683
- const { isAuthenticated, loading, refreshSession } = chunkVJNDOYEC_js.useAuthContext();
684
- const [showLoginModal, setShowLoginModal] = React7.useState(false);
685
- React7.useEffect(() => {
686
- if (!loading && requireAuth && !isAuthenticated) {
687
- setShowLoginModal(true);
688
- }
689
- }, [loading, requireAuth, isAuthenticated]);
690
- const handleLoginSuccess = async () => {
691
- await refreshSession();
692
- setShowLoginModal(false);
693
- };
694
- if (loading) {
695
- return /* @__PURE__ */ React7__default.default.createElement("div", { className: "flex items-center justify-center min-h-[200px] text-gray-500 flex-col gap-3" }, /* @__PURE__ */ React7__default.default.createElement("div", { className: "w-8 h-8 border-[3px] border-gray-200 border-t-blue-500 rounded-full animate-spin" }), /* @__PURE__ */ React7__default.default.createElement("div", null, "\u9A8C\u8BC1\u767B\u5F55\u72B6\u6001..."));
696
- }
697
- if (requireAuth && !isAuthenticated) {
698
- return /* @__PURE__ */ React7__default.default.createElement(React7__default.default.Fragment, null, fallback ?? /* @__PURE__ */ React7__default.default.createElement("div", { className: "flex items-center justify-center min-h-[200px] text-gray-500 flex-col gap-4 p-6 text-center" }, /* @__PURE__ */ React7__default.default.createElement("div", { className: "text-5xl opacity-50" }, "\u{1F512}"), /* @__PURE__ */ React7__default.default.createElement("div", { className: "text-lg font-medium" }, "\u8BF7\u5148\u767B\u5F55\u4EE5\u8BBF\u95EE\u6B64\u9875\u9762"), /* @__PURE__ */ React7__default.default.createElement("div", { className: "text-sm opacity-70" }, "\u767B\u5F55\u540E\u5373\u53EF\u67E5\u770B\u76F8\u5173\u5185\u5BB9")), /* @__PURE__ */ React7__default.default.createElement(LoginModal, { isOpen: showLoginModal, onClose: () => setShowLoginModal(false), onSuccess: handleLoginSuccess }));
699
- }
700
- return /* @__PURE__ */ React7__default.default.createElement(React7__default.default.Fragment, null, children);
701
- }
702
- function UserMenu({ customMenuItems = [], className }) {
703
- const { user, isAuthenticated, signOut, refreshSession } = chunkVJNDOYEC_js.useAuthContext();
704
- const [isOpen, setIsOpen] = React7.useState(false);
705
- const [showLoginModal, setShowLoginModal] = React7.useState(false);
706
- const [showRegisterModal, setShowRegisterModal] = React7.useState(false);
707
- React7.useEffect(() => {
708
- const handleGlobalClick = () => setIsOpen(false);
709
- if (isOpen) document.addEventListener("click", handleGlobalClick);
710
- return () => document.removeEventListener("click", handleGlobalClick);
711
- }, [isOpen]);
712
- const visibleCustomMenuItems = customMenuItems.filter((item) => {
713
- if (item.requireAuth === true) return isAuthenticated;
714
- if (item.requireAuth === false) return !isAuthenticated;
715
- return true;
716
- });
717
- const handleAuthSuccess = async () => {
718
- await refreshSession();
719
- setShowLoginModal(false);
720
- setShowRegisterModal(false);
721
- };
722
- const displayName = user?.name || user?.phoneNumber || user?.email || "\u7528\u6237";
723
- return /* @__PURE__ */ React7__default.default.createElement("div", { className: `relative inline-block ${className ?? ""}` }, /* @__PURE__ */ React7__default.default.createElement(
724
- "button",
725
- {
726
- type: "button",
727
- className: "flex items-center gap-2 px-3 py-2 bg-slate-50 text-slate-500 border border-slate-200 rounded-lg cursor-pointer transition-all min-w-11 min-h-11 text-sm font-medium hover:bg-slate-200 hover:text-slate-800 focus:outline-none focus:ring-2 focus:ring-blue-500/10",
728
- onClick: () => setIsOpen((v) => !v)
729
- },
730
- /* @__PURE__ */ React7__default.default.createElement(lucideReact.User, { size: 24 }),
731
- isAuthenticated && user && /* @__PURE__ */ React7__default.default.createElement("span", { className: "max-w-[120px] overflow-hidden text-ellipsis whitespace-nowrap" }, displayName)
732
- ), isOpen && /* @__PURE__ */ React7__default.default.createElement(
733
- "div",
734
- {
735
- className: "absolute top-[calc(100%+0.5rem)] right-0 z-[1000] min-w-[200px] bg-white border border-slate-200 rounded-xl shadow-lg max-h-[90vh] overflow-y-auto p-2",
736
- onClick: (e) => e.stopPropagation()
737
- },
738
- isAuthenticated && user ? /* @__PURE__ */ React7__default.default.createElement(React7__default.default.Fragment, null, /* @__PURE__ */ React7__default.default.createElement("div", { className: "p-3 mb-2 bg-slate-50 rounded-lg" }, /* @__PURE__ */ React7__default.default.createElement("div", { className: "text-sm font-semibold text-slate-800 mb-1 overflow-hidden text-ellipsis whitespace-nowrap" }, user.name || "\u672A\u8BBE\u7F6E\u540D\u79F0"), /* @__PURE__ */ React7__default.default.createElement("div", { className: "text-xs text-slate-500 mb-1 overflow-hidden text-ellipsis whitespace-nowrap" }, user.phoneNumber || user.email), user.role && /* @__PURE__ */ React7__default.default.createElement("div", { className: "text-xs text-blue-500 font-medium" }, user.role === "admin" ? "\u7BA1\u7406\u5458" : "\u666E\u901A\u7528\u6237")), visibleCustomMenuItems.length > 0 && /* @__PURE__ */ React7__default.default.createElement(React7__default.default.Fragment, null, /* @__PURE__ */ React7__default.default.createElement("div", { className: "h-px bg-slate-200 my-2" }), visibleCustomMenuItems.map((item) => {
739
- const IconComponent = item.icon;
740
- return /* @__PURE__ */ React7__default.default.createElement(
741
- "button",
742
- {
743
- key: item.id,
744
- type: "button",
745
- className: "flex items-center gap-3 w-full p-3 bg-transparent border-none rounded-lg text-gray-700 text-sm font-medium cursor-pointer transition-all text-left min-h-11 hover:bg-slate-100 hover:text-slate-800",
746
- onClick: () => {
747
- item.onClick();
748
- setIsOpen(false);
749
- }
750
- },
751
- IconComponent && /* @__PURE__ */ React7__default.default.createElement(IconComponent, { size: 16 }),
752
- /* @__PURE__ */ React7__default.default.createElement("span", null, item.label)
753
- );
754
- })), /* @__PURE__ */ React7__default.default.createElement("div", { className: "h-px bg-slate-200 my-2" }), /* @__PURE__ */ React7__default.default.createElement(
755
- "button",
756
- {
757
- type: "button",
758
- className: "flex items-center gap-3 w-full p-3 bg-transparent border-none rounded-lg text-gray-700 text-sm font-medium cursor-pointer transition-all text-left min-h-11 hover:bg-red-50 hover:text-red-600",
759
- onClick: async () => {
760
- await signOut();
761
- setIsOpen(false);
762
- }
763
- },
764
- /* @__PURE__ */ React7__default.default.createElement(lucideReact.LogOut, { size: 16 }),
765
- /* @__PURE__ */ React7__default.default.createElement("span", null, "\u9000\u51FA\u767B\u5F55")
766
- )) : /* @__PURE__ */ React7__default.default.createElement(React7__default.default.Fragment, null, /* @__PURE__ */ React7__default.default.createElement(
767
- "button",
768
- {
769
- type: "button",
770
- className: "flex items-center gap-3 w-full p-3 bg-transparent border-none rounded-lg text-gray-700 text-sm font-medium cursor-pointer transition-all text-left min-h-11 hover:bg-slate-100 hover:text-slate-800",
771
- onClick: () => {
772
- setShowLoginModal(true);
773
- setIsOpen(false);
774
- }
775
- },
776
- /* @__PURE__ */ React7__default.default.createElement(lucideReact.LogIn, { size: 16 }),
777
- /* @__PURE__ */ React7__default.default.createElement("span", null, "\u767B\u5F55")
778
- ), /* @__PURE__ */ React7__default.default.createElement(
779
- "button",
780
- {
781
- type: "button",
782
- className: "flex items-center gap-3 w-full p-3 bg-transparent border-none rounded-lg text-gray-700 text-sm font-medium cursor-pointer transition-all text-left min-h-11 hover:bg-slate-100 hover:text-slate-800",
783
- onClick: () => {
784
- setShowRegisterModal(true);
785
- setIsOpen(false);
786
- }
787
- },
788
- /* @__PURE__ */ React7__default.default.createElement(lucideReact.User, { size: 16 }),
789
- /* @__PURE__ */ React7__default.default.createElement("span", null, "\u6CE8\u518C")
790
- ), visibleCustomMenuItems.length > 0 && /* @__PURE__ */ React7__default.default.createElement(React7__default.default.Fragment, null, /* @__PURE__ */ React7__default.default.createElement("div", { className: "h-px bg-slate-200 my-2" }), visibleCustomMenuItems.map((item) => {
791
- const IconComponent = item.icon;
792
- return /* @__PURE__ */ React7__default.default.createElement(
793
- "button",
794
- {
795
- key: item.id,
796
- type: "button",
797
- className: "flex items-center gap-3 w-full p-3 bg-transparent border-none rounded-lg text-gray-700 text-sm font-medium cursor-pointer transition-all text-left min-h-11 hover:bg-slate-100 hover:text-slate-800",
798
- onClick: () => {
799
- item.onClick();
800
- setIsOpen(false);
801
- }
802
- },
803
- IconComponent && /* @__PURE__ */ React7__default.default.createElement(IconComponent, { size: 16 }),
804
- /* @__PURE__ */ React7__default.default.createElement("span", null, item.label)
805
- );
806
- })))
807
- ), /* @__PURE__ */ React7__default.default.createElement(
808
- LoginModal,
809
- {
810
- isOpen: showLoginModal,
811
- onClose: () => setShowLoginModal(false),
812
- onSuccess: handleAuthSuccess,
813
- onSwitchToRegister: () => {
814
- setShowLoginModal(false);
815
- setShowRegisterModal(true);
816
- }
817
- }
818
- ), /* @__PURE__ */ React7__default.default.createElement(
819
- RegisterModal,
820
- {
821
- isOpen: showRegisterModal,
822
- onClose: () => setShowRegisterModal(false),
823
- onSuccess: handleAuthSuccess,
824
- onSwitchToLogin: () => {
825
- setShowRegisterModal(false);
826
- setShowLoginModal(true);
827
- }
828
- }
829
- ));
830
- }
831
- function LoginForm({ apiClient, onSuccess, onError, children }) {
832
- const { login, loading, error: authError, clearError } = chunkTXMX6PZR_js.useAuth(apiClient);
833
- const [email, setEmail] = React7.useState("");
834
- const [password, setPassword] = React7.useState("");
835
- const handleSubmit = async (e) => {
836
- if (e) {
837
- e.preventDefault();
838
- }
839
- clearError();
840
- const result = await login(email, password);
841
- if (result.success) {
842
- onSuccess?.(apiClient.getUser());
843
- } else {
844
- onError?.(result.error || "\u767B\u5F55\u5931\u8D25");
845
- }
846
- };
847
- const state = {
848
- email,
849
- password,
850
- loading,
851
- error: authError,
852
- handleEmailChange: setEmail,
853
- handlePasswordChange: setPassword,
854
- handleSubmit
855
- };
856
- return /* @__PURE__ */ React7__default.default.createElement(React7__default.default.Fragment, null, children(state));
857
- }
858
- function RegisterForm({
859
- apiClient,
860
- onSuccess,
861
- onError,
862
- children
863
- }) {
864
- const { register, loading, error: authError, clearError } = chunkTXMX6PZR_js.useAuth(apiClient);
865
- const [email, setEmail] = React7.useState("");
866
- const [password, setPassword] = React7.useState("");
867
- const [username, setUsername] = React7.useState("");
868
- const handleSubmit = async (e) => {
869
- if (e) {
870
- e.preventDefault();
871
- }
872
- clearError();
873
- if (!email || !password || !username) {
874
- const errorMsg = "\u8BF7\u586B\u5199\u6240\u6709\u5B57\u6BB5";
875
- onError?.(errorMsg);
876
- return;
877
- }
878
- if (password.length < 6) {
879
- const errorMsg = "\u5BC6\u7801\u957F\u5EA6\u81F3\u5C11\u4E3A 6 \u4F4D";
880
- onError?.(errorMsg);
881
- return;
882
- }
883
- const result = await register(email, password, username);
884
- if (result.success) {
885
- onSuccess?.(apiClient.getUser());
886
- } else {
887
- onError?.(result.error || "\u6CE8\u518C\u5931\u8D25");
888
- }
889
- };
890
- const state = {
891
- email,
892
- password,
893
- username,
894
- loading,
895
- error: authError,
896
- handleEmailChange: setEmail,
897
- handlePasswordChange: setPassword,
898
- handleUsernameChange: setUsername,
899
- handleSubmit
900
- };
901
- return /* @__PURE__ */ React7__default.default.createElement(React7__default.default.Fragment, null, children(state));
902
- }
903
- var DefaultContainer = ({ children }) => /* @__PURE__ */ React7__default.default.createElement("div", { className: "min-h-screen bg-gradient-to-br from-indigo-100 via-purple-50 to-pink-100 flex items-center justify-center px-4 py-12 relative overflow-hidden" }, /* @__PURE__ */ React7__default.default.createElement("div", { className: "absolute inset-0 overflow-hidden pointer-events-none" }, /* @__PURE__ */ React7__default.default.createElement(
904
- "div",
905
- {
906
- className: "absolute -top-40 -right-40 w-80 h-80 bg-purple-300 rounded-full mix-blend-multiply filter blur-xl opacity-70",
907
- style: {
908
- animation: "blob 7s infinite"
909
- }
910
- }
911
- ), /* @__PURE__ */ React7__default.default.createElement(
912
- "div",
913
- {
914
- className: "absolute -bottom-40 -left-40 w-80 h-80 bg-indigo-300 rounded-full mix-blend-multiply filter blur-xl opacity-70",
915
- style: {
916
- animation: "blob 7s infinite",
917
- animationDelay: "2s"
918
- }
919
- }
920
- ), /* @__PURE__ */ React7__default.default.createElement(
921
- "div",
922
- {
923
- className: "absolute top-1/2 left-1/2 transform -translate-x-1/2 -translate-y-1/2 w-80 h-80 bg-pink-300 rounded-full mix-blend-multiply filter blur-xl opacity-70",
924
- style: {
925
- animation: "blob 7s infinite",
926
- animationDelay: "4s"
927
- }
928
- }
929
- )), /* @__PURE__ */ React7__default.default.createElement("div", { className: "relative z-[10]" }, children), /* @__PURE__ */ React7__default.default.createElement("style", { dangerouslySetInnerHTML: { __html: `
930
- @keyframes blob {
931
- 0%, 100% { transform: translate(0, 0) scale(1); }
932
- 25% { transform: translate(20px, -50px) scale(1.1); }
933
- 50% { transform: translate(-20px, 20px) scale(0.9); }
934
- 75% { transform: translate(50px, 50px) scale(1.05); }
935
- }
936
- ` } }));
937
- var DefaultCard = ({ children }) => /* @__PURE__ */ React7__default.default.createElement("div", { className: "w-full max-w-md bg-white/95 backdrop-blur-xl rounded-2xl shadow-2xl border border-white/20 overflow-hidden" }, children);
938
- var DefaultInput = (props) => /* @__PURE__ */ React7__default.default.createElement(
939
- "input",
940
- {
941
- ...props,
942
- className: "w-full px-4 py-3 bg-gray-50 border border-gray-200 rounded-xl focus:outline-none focus:ring-2 focus:ring-purple-500 focus:border-transparent transition-all duration-200 placeholder-gray-400 text-gray-900 hover:border-gray-300"
943
- }
944
- );
945
- var DefaultButton = ({ children, disabled, type, ...props }) => /* @__PURE__ */ React7__default.default.createElement(
946
- "button",
947
- {
948
- type: type || "button",
949
- disabled,
950
- ...props,
951
- className: clsx.clsx("w-full bg-gradient-to-r from-blue-50 to-indigo-50 border-2 border-dashed border-blue-300 text-blue-700 hover:from-blue-100 hover:to-indigo-100 hover:border-blue-400 px-4 py-2.5 rounded-xl text-sm font-medium transition-all duration-200 transform hover:scale-105 active:scale-95", disabled ? "opacity-60 cursor-not-allowed hover:scale-100 hover:shadow-none" : "block", "}"),
952
- style: {
953
- backgroundSize: "200% 100%",
954
- backgroundPosition: disabled ? "0% 0%" : "0% 0%",
955
- display: "block"
956
- },
957
- onMouseEnter: (e) => {
958
- if (!disabled) {
959
- e.currentTarget.style.backgroundPosition = "100% 0%";
960
- }
961
- },
962
- onMouseLeave: (e) => {
963
- if (!disabled) {
964
- e.currentTarget.style.backgroundPosition = "0% 0%";
965
- }
966
- }
967
- },
968
- children
969
- );
970
- var DefaultAlert = ({ children }) => /* @__PURE__ */ React7__default.default.createElement("div", { className: "bg-red-50 border-l-4 border-red-500 text-red-700 px-4 py-3 rounded-lg relative flex items-start space-x-3 shadow-sm" }, /* @__PURE__ */ React7__default.default.createElement("svg", { className: "w-5 h-5 text-red-500 mt-0.5 flex-shrink-0", fill: "currentColor", viewBox: "0 0 20 20" }, /* @__PURE__ */ React7__default.default.createElement("path", { fillRule: "evenodd", d: "M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z", clipRule: "evenodd" })), /* @__PURE__ */ React7__default.default.createElement("div", { className: "flex-1 text-sm" }, children));
971
- var DefaultBadge = ({
972
- children,
973
- variant,
974
- className = ""
975
- }) => /* @__PURE__ */ React7__default.default.createElement(
976
- "span",
977
- {
978
- className: clsx.clsx("inline-flex items-center px-3 py-1.5 rounded-full text-xs font-semibold shadow-sm", variant === "dev" ? "bg-gradient-to-r from-orange-400 to-amber-500 text-white border-0" : "bg-gray-100 text-gray-700 border border-gray-200", className)
979
- },
980
- children
981
- );
982
- function AdminLoginPage(props) {
983
- const {
984
- apiClient,
985
- onLoginSuccess,
986
- onLoginError,
987
- checkPermission,
988
- permissionDeniedMessage = "\u8BBF\u95EE\u88AB\u62D2\u7EDD\uFF1A\u9700\u8981\u7BA1\u7406\u5458\u6743\u9650",
989
- devConfig,
990
- texts = {},
991
- analytics,
992
- components,
993
- classNames = {}
994
- } = props;
995
- const Container = components?.Container || DefaultContainer;
996
- const Card = components?.Card || DefaultCard;
997
- const Input = components?.Input || DefaultInput;
998
- const Button = components?.Button || DefaultButton;
999
- const Alert = components?.Alert || DefaultAlert;
1000
- components?.Badge || DefaultBadge;
1001
- const t = {
1002
- appName: texts.appName || "LyricNote",
1003
- appDescription: texts.appDescription || "\u667A\u80FD\u6B4C\u8BCD\u7BA1\u7406\u5E73\u53F0",
1004
- pageTitle: texts.pageTitle || "\u7BA1\u7406\u5458\u767B\u5F55",
1005
- pageSubtitle: texts.pageSubtitle || "\u8BF7\u4F7F\u7528\u7BA1\u7406\u5458\u8D26\u6237\u767B\u5F55\u7CFB\u7EDF",
1006
- emailLabel: texts.emailLabel || "\u7BA1\u7406\u5458\u90AE\u7BB1",
1007
- emailPlaceholder: texts.emailPlaceholder || "admin@example.com",
1008
- passwordLabel: texts.passwordLabel || "\u5BC6\u7801",
1009
- passwordPlaceholder: texts.passwordPlaceholder || "\u8BF7\u8F93\u5165\u5BC6\u7801",
1010
- loginButton: texts.loginButton || "\u767B\u5F55\u7BA1\u7406\u540E\u53F0",
1011
- loggingInButton: texts.loggingInButton || "\u767B\u5F55\u4E2D...",
1012
- fillTestAccount: texts.fillTestAccount || "\u586B\u5145\u6D4B\u8BD5\u8D26\u6237",
1013
- copyCredentials: texts.copyCredentials || "\u590D\u5236",
1014
- devModeLabel: texts.devModeLabel || "\u5F00\u53D1\u73AF\u5883",
1015
- testAccountInfo: texts.testAccountInfo || "\u6D4B\u8BD5\u8D26\u6237\u5DF2\u586B\u5145\uFF0C\u53EF\u76F4\u63A5\u767B\u5F55",
1016
- testAccountFilled: texts.testAccountFilled || "\u5DF2\u81EA\u52A8\u586B\u5145\u6D4B\u8BD5\u8D26\u6237\u4FE1\u606F",
1017
- footer: texts.footer || "\u4EC5\u9650\u7BA1\u7406\u5458\u8BBF\u95EE \u2022 \u7CFB\u7EDF\u5B89\u5168\u4FDD\u62A4"
1018
- };
1019
- const [email, setEmail] = React7.useState("");
1020
- const [password, setPassword] = React7.useState("");
1021
- const [showPassword, setShowPassword] = React7.useState(false);
1022
- const [autoFilled, setAutoFilled] = React7.useState(false);
1023
- const [localError, setLocalError] = React7.useState("");
1024
- const isDevelopment = devConfig?.enabled ?? (typeof window !== "undefined" && (process.env.NODE_ENV === "development" || window.location.hostname === "localhost" || window.location.hostname === "127.0.0.1"));
1025
- const testEmail = devConfig?.testEmail || "admin@example.com";
1026
- const testPassword = devConfig?.testPassword || "admin123";
1027
- const autoFillDelay = devConfig?.autoFillDelay || 2e3;
1028
- const { user, isLoggedIn, loading, error: authError, login, clearError } = chunkTXMX6PZR_js.useAuth(apiClient);
1029
- const error = authError || localError;
1030
- React7.useEffect(() => {
1031
- if (typeof window !== "undefined" && analytics?.trackPageView) {
1032
- analytics.trackPageView({
1033
- pageName: "admin_login_page",
1034
- pageUrl: window.location.pathname
1035
- });
1036
- }
1037
- }, [analytics]);
1038
- React7.useEffect(() => {
1039
- if (isDevelopment && !email && !password) {
1040
- const timer = setTimeout(() => {
1041
- if (!email && !password) {
1042
- setEmail(testEmail);
1043
- setPassword(testPassword);
1044
- setAutoFilled(true);
1045
- }
1046
- }, autoFillDelay);
1047
- return () => clearTimeout(timer);
1048
- }
1049
- return;
1050
- }, [isDevelopment, email, password, testEmail, testPassword, autoFillDelay]);
1051
- React7.useEffect(() => {
1052
- if (user && isLoggedIn) {
1053
- if (checkPermission && !checkPermission(user)) {
1054
- setLocalError(permissionDeniedMessage);
1055
- analytics?.trackPermissionDenied?.(user);
1056
- return;
1057
- }
1058
- analytics?.trackLoginSuccess?.(user);
1059
- analytics?.setUser?.({
1060
- userId: user.id,
1061
- email: user.email,
1062
- role: user.role
1063
- });
1064
- onLoginSuccess?.(user);
1065
- }
1066
- }, [user, isLoggedIn, checkPermission, permissionDeniedMessage, analytics, onLoginSuccess]);
1067
- const handleSubmit = async (e) => {
1068
- e.preventDefault();
1069
- setLocalError("");
1070
- clearError();
1071
- try {
1072
- const result = await login(email, password);
1073
- if (!result.success) {
1074
- const errorMsg = result.error || "\u767B\u5F55\u5931\u8D25";
1075
- setLocalError(errorMsg);
1076
- analytics?.trackLoginFailed?.(errorMsg, email);
1077
- onLoginError?.(errorMsg);
1078
- }
1079
- } catch (err) {
1080
- const errorMsg = "\u767B\u5F55\u5931\u8D25\uFF1A\u7F51\u7EDC\u9519\u8BEF\u6216\u670D\u52A1\u5668\u9519\u8BEF";
1081
- setLocalError(errorMsg);
1082
- analytics?.trackLoginFailed?.(errorMsg, email);
1083
- onLoginError?.(errorMsg);
1084
- }
1085
- };
1086
- const fillTestAccount = () => {
1087
- setEmail(testEmail);
1088
- setPassword(testPassword);
1089
- setLocalError("");
1090
- setAutoFilled(true);
1091
- };
1092
- return /* @__PURE__ */ React7__default.default.createElement(Container, null, /* @__PURE__ */ React7__default.default.createElement("div", { className: "w-full max-w-md" }, /* @__PURE__ */ React7__default.default.createElement(Card, null, /* @__PURE__ */ React7__default.default.createElement("div", { className: "p-8" }, /* @__PURE__ */ React7__default.default.createElement("div", { className: "pb-8" }, /* @__PURE__ */ React7__default.default.createElement("h2", { className: "text-2xl font-bold text-center text-gray-800" }, t.pageTitle)), /* @__PURE__ */ React7__default.default.createElement("form", { onSubmit: handleSubmit, className: "space-y-5" }, error && /* @__PURE__ */ React7__default.default.createElement(Alert, null, error), /* @__PURE__ */ React7__default.default.createElement("div", { className: "space-y-2" }, /* @__PURE__ */ React7__default.default.createElement("label", { htmlFor: "email", className: "text-sm font-semibold text-gray-700 block" }, t.emailLabel), /* @__PURE__ */ React7__default.default.createElement(
1093
- Input,
1094
- {
1095
- id: "email",
1096
- type: "email",
1097
- value: email,
1098
- onChange: (e) => setEmail(e.target.value),
1099
- placeholder: t.emailPlaceholder,
1100
- required: true,
1101
- disabled: loading
1102
- }
1103
- )), /* @__PURE__ */ React7__default.default.createElement("div", { className: "space-y-2" }, /* @__PURE__ */ React7__default.default.createElement("label", { htmlFor: "password", className: "text-sm font-semibold text-gray-700 block" }, t.passwordLabel), /* @__PURE__ */ React7__default.default.createElement("div", { className: "relative" }, /* @__PURE__ */ React7__default.default.createElement(
1104
- Input,
1105
- {
1106
- id: "password",
1107
- type: showPassword ? "text" : "password",
1108
- value: password,
1109
- onChange: (e) => setPassword(e.target.value),
1110
- placeholder: t.passwordPlaceholder,
1111
- required: true,
1112
- disabled: loading
1113
- }
1114
- ), /* @__PURE__ */ React7__default.default.createElement(
1115
- "button",
1116
- {
1117
- type: "button",
1118
- onClick: () => setShowPassword(!showPassword),
1119
- className: "absolute right-3 top-1/2 transform -translate-y-1/2 text-gray-400 hover:text-gray-600 transition-colors p-1",
1120
- disabled: loading,
1121
- title: showPassword ? "\u9690\u85CF\u5BC6\u7801" : "\u663E\u793A\u5BC6\u7801"
1122
- },
1123
- showPassword ? /* @__PURE__ */ React7__default.default.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", className: "h-5 w-5", viewBox: "0 0 20 20", fill: "currentColor" }, /* @__PURE__ */ React7__default.default.createElement("path", { fillRule: "evenodd", d: "M3.707 2.293a1 1 0 00-1.414 1.414l14 14a1 1 0 001.414-1.414l-1.473-1.473A10.014 10.014 0 0019.542 10C18.268 5.943 14.478 3 10 3a9.958 9.958 0 00-4.512 1.074l-1.78-1.781zm4.261 4.26l1.514 1.515a2.003 2.003 0 012.45 2.45l1.514 1.514a4 4 0 00-5.478-5.478z", clipRule: "evenodd" }), /* @__PURE__ */ React7__default.default.createElement("path", { d: "M12.454 16.697L9.75 13.992a4 4 0 01-3.742-3.741L2.335 6.578A9.98 9.98 0 00.458 10c1.274 4.057 5.065 7 9.542 7 .847 0 1.669-.105 2.454-.303z" })) : /* @__PURE__ */ React7__default.default.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", className: "h-5 w-5", viewBox: "0 0 20 20", fill: "currentColor" }, /* @__PURE__ */ React7__default.default.createElement("path", { d: "M10 12a2 2 0 100-4 2 2 0 000 4z" }), /* @__PURE__ */ React7__default.default.createElement("path", { fillRule: "evenodd", d: "M.458 10C1.732 5.943 5.522 3 10 3s8.268 2.943 9.542 7c-1.274 4.057-5.064 7-9.542 7S1.732 14.057.458 10zM14 10a4 4 0 11-8 0 4 4 0 018 0z", clipRule: "evenodd" }))
1124
- ))), isDevelopment && /* @__PURE__ */ React7__default.default.createElement("div", { className: "pt-2" }, /* @__PURE__ */ React7__default.default.createElement(
1125
- "button",
1126
- {
1127
- type: "button",
1128
- onClick: fillTestAccount,
1129
- className: "w-full bg-gradient-to-r from-blue-50 to-indigo-50 border-2 border-dashed border-blue-300 text-blue-700 hover:from-blue-100 hover:to-indigo-100 hover:border-blue-400 px-4 py-2.5 rounded-xl text-sm font-medium transition-all duration-200 transform hover:scale-105 active:scale-95",
1130
- disabled: loading
1131
- },
1132
- t.fillTestAccount
1133
- )), /* @__PURE__ */ React7__default.default.createElement("div", { className: "pt-3" }, /* @__PURE__ */ React7__default.default.createElement(Button, { type: "submit", disabled: loading }, loading ? t.loggingInButton : t.loginButton)))))));
1134
- }
1135
-
1136
- exports.AdminLoginPage = AdminLoginPage;
1137
- exports.AuthGuard = AuthGuard;
1138
- exports.ForgotPasswordModal = ForgotPasswordModal;
1139
- exports.LoginForm = LoginForm;
1140
- exports.LoginModal = LoginModal;
1141
- exports.RegisterForm = RegisterForm;
1142
- exports.RegisterFormHeadless = RegisterFormHeadless;
1143
- exports.RegisterModal = RegisterModal;
1144
- exports.SignInForm = SignInForm;
1145
- exports.UserMenu = UserMenu;
1146
- exports.VerifyOtpForm = VerifyOtpForm;
1147
- //# sourceMappingURL=chunk-QDUBO567.js.map
1148
- //# sourceMappingURL=chunk-QDUBO567.js.map