pcm-agents 0.6.11 → 0.6.13

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 (292) hide show
  1. package/dist/cjs/error-event-J_ZWIqWF.js +33 -0
  2. package/dist/cjs/error-event-J_ZWIqWF.js.map +1 -0
  3. package/dist/cjs/{index-CvEfNyEj.js → index-CRlt8Nv6.js} +53 -3
  4. package/dist/cjs/index-CRlt8Nv6.js.map +1 -0
  5. package/dist/cjs/index-WNdOTXnX.js +11068 -0
  6. package/dist/cjs/index-WNdOTXnX.js.map +1 -0
  7. package/dist/cjs/index.cjs.js +2 -2
  8. package/dist/cjs/loader.cjs.js +3 -5
  9. package/dist/cjs/loader.cjs.js.map +1 -1
  10. package/dist/cjs/message.service-DGUsA-FY.js +135 -0
  11. package/dist/cjs/message.service-DGUsA-FY.js.map +1 -0
  12. package/dist/cjs/{pcm-1zhanshi-mnms-modal_17.cjs.entry.js → pcm-1zhanshi-mnms-modal_21.cjs.entry.js} +3276 -216
  13. package/dist/cjs/pcm-1zhanshi-mnms-modal_21.cjs.entry.js.map +1 -0
  14. package/dist/cjs/pcm-agents.cjs.js +4 -6
  15. package/dist/cjs/pcm-agents.cjs.js.map +1 -1
  16. package/dist/cjs/pcm-message.cjs.entry.js +3 -3
  17. package/dist/cjs/pcm-message.cjs.entry.js.map +1 -1
  18. package/dist/cjs/pcm-message.entry.cjs.js.map +1 -1
  19. package/dist/cjs/pcm-mnms-video-modal.cjs.entry.js +8 -8
  20. package/dist/cjs/pcm-mnms-video-modal.cjs.entry.js.map +1 -1
  21. package/dist/cjs/pcm-mnms-video-modal.entry.cjs.js.map +1 -1
  22. package/dist/cjs/pcm-mnms-zp-modal.cjs.entry.js +29 -86
  23. package/dist/cjs/pcm-mnms-zp-modal.cjs.entry.js.map +1 -1
  24. package/dist/cjs/pcm-mnms-zp-modal.entry.cjs.js.map +1 -1
  25. package/dist/cjs/{sentry-reporter-BWFtw_aT.js → sentry-reporter-tpI4WdkE.js} +12 -40
  26. package/dist/cjs/sentry-reporter-tpI4WdkE.js.map +1 -0
  27. package/dist/collection/collection-manifest.json +5 -1
  28. package/dist/collection/components/pcm-1zhanshi-mnms-modal/pcm-1zhanshi-mnms-modal.js.map +1 -1
  29. package/dist/collection/components/pcm-app-chat-modal/pcm-app-chat-modal.css +986 -986
  30. package/dist/collection/components/pcm-app-chat-modal/pcm-app-chat-modal.js +7 -9
  31. package/dist/collection/components/pcm-app-chat-modal/pcm-app-chat-modal.js.map +1 -1
  32. package/dist/collection/components/pcm-button/pcm-button.css +199 -199
  33. package/dist/collection/components/pcm-button/pcm-button.js +6 -6
  34. package/dist/collection/components/pcm-button/pcm-button.js.map +1 -1
  35. package/dist/collection/components/pcm-card/pcm-card.css +259 -259
  36. package/dist/collection/components/pcm-card/pcm-card.js +1 -1
  37. package/dist/collection/components/pcm-card/pcm-card.js.map +1 -1
  38. package/dist/collection/components/pcm-chat-message/pcm-chat-message.css +554 -554
  39. package/dist/collection/components/pcm-chat-message/pcm-chat-message.js +3 -3
  40. package/dist/collection/components/pcm-chat-message/pcm-chat-message.js.map +1 -1
  41. package/dist/collection/components/pcm-drawer/pcm-drawer.css +102 -102
  42. package/dist/collection/components/pcm-drawer/pcm-drawer.js +1 -1
  43. package/dist/collection/components/pcm-drawer/pcm-drawer.js.map +1 -1
  44. package/dist/collection/components/pcm-hr-chat-modal/pcm-hr-chat-modal.css +854 -854
  45. package/dist/collection/components/pcm-hr-chat-modal/pcm-hr-chat-modal.js +5 -7
  46. package/dist/collection/components/pcm-hr-chat-modal/pcm-hr-chat-modal.js.map +1 -1
  47. package/dist/collection/components/pcm-htws-modal/pcm-htws-modal.css +95 -95
  48. package/dist/collection/components/pcm-htws-modal/pcm-htws-modal.js +1 -1
  49. package/dist/collection/components/pcm-htws-modal/pcm-htws-modal.js.map +1 -1
  50. package/dist/collection/components/pcm-hyzj-modal/pcm-hyzj-modal.js +2 -2
  51. package/dist/collection/components/pcm-hyzj-modal/pcm-hyzj-modal.js.map +1 -1
  52. package/dist/collection/components/pcm-jd-modal/pcm-jd-modal.css +312 -312
  53. package/dist/collection/components/pcm-jd-modal/pcm-jd-modal.js +1 -1
  54. package/dist/collection/components/pcm-jd-modal/pcm-jd-modal.js.map +1 -1
  55. package/dist/collection/components/pcm-jlpp-modal/pcm-jlpp-modal.js +2 -2
  56. package/dist/collection/components/pcm-jlpp-modal/pcm-jlpp-modal.js.map +1 -1
  57. package/dist/collection/components/pcm-message/pcm-message.css +64 -64
  58. package/dist/collection/components/pcm-message/pcm-message.js +2 -2
  59. package/dist/collection/components/pcm-message/pcm-message.js.map +1 -1
  60. package/dist/collection/components/pcm-mnct-modal/pcm-mnct-modal.css +1 -1
  61. package/dist/collection/components/pcm-mnct-modal/pcm-mnct-modal.js +2 -2
  62. package/dist/collection/components/pcm-mnct-modal/pcm-mnct-modal.js.map +1 -1
  63. package/dist/collection/components/pcm-mnms-modal/pcm-mnms-modal.js +67 -84
  64. package/dist/collection/components/pcm-mnms-modal/pcm-mnms-modal.js.map +1 -1
  65. package/dist/collection/components/pcm-mnms-video-modal/pcm-mnms-video-modal.js +2 -2
  66. package/dist/collection/components/pcm-mnms-video-modal/pcm-mnms-video-modal.js.map +1 -1
  67. package/dist/collection/components/pcm-mnms-zp-modal/pcm-mnms-zp-modal.js +67 -84
  68. package/dist/collection/components/pcm-mnms-zp-modal/pcm-mnms-zp-modal.js.map +1 -1
  69. package/dist/collection/components/pcm-mobile-input-btn/pcm-mobile-input-btn.css +140 -0
  70. package/dist/collection/components/pcm-mobile-input-btn/pcm-mobile-input-btn.js +307 -0
  71. package/dist/collection/components/pcm-mobile-input-btn/pcm-mobile-input-btn.js.map +1 -0
  72. package/dist/collection/components/pcm-mobile-input-btn/uploadNumberSDK.js +25 -0
  73. package/dist/collection/components/pcm-mobile-input-btn/uploadNumberSDK.js.map +1 -0
  74. package/dist/collection/components/pcm-mobile-upload-btn/pcm-mobile-upload-btn.css +127 -0
  75. package/dist/collection/components/pcm-mobile-upload-btn/pcm-mobile-upload-btn.js +350 -0
  76. package/dist/collection/components/pcm-mobile-upload-btn/pcm-mobile-upload-btn.js.map +1 -0
  77. package/dist/collection/components/pcm-mobile-upload-btn/uploadNumberSDK.js +25 -0
  78. package/dist/collection/components/pcm-mobile-upload-btn/uploadNumberSDK.js.map +1 -0
  79. package/dist/collection/components/pcm-msbg-modal/pcm-msbg-modal.js +2 -2
  80. package/dist/collection/components/pcm-msbg-modal/pcm-msbg-modal.js.map +1 -1
  81. package/dist/collection/components/pcm-qgqjl-modal/pcm-qgqjl-modal.css +1 -1
  82. package/dist/collection/components/pcm-qgqjl-modal/pcm-qgqjl-modal.js +2 -2
  83. package/dist/collection/components/pcm-qgqjl-modal/pcm-qgqjl-modal.js.map +1 -1
  84. package/dist/collection/components/pcm-time-count-down/pcm-time-count-down.css +0 -0
  85. package/dist/collection/components/pcm-time-count-down/pcm-time-count-down.js +106 -0
  86. package/dist/collection/components/pcm-time-count-down/pcm-time-count-down.js.map +1 -0
  87. package/dist/collection/components/pcm-upload/pcm-upload.css +0 -0
  88. package/dist/collection/components/pcm-upload/pcm-upload.js +408 -0
  89. package/dist/collection/components/pcm-upload/pcm-upload.js.map +1 -0
  90. package/dist/collection/components/pcm-zsk-chat-modal/pcm-zsk-chat-modal.css +969 -969
  91. package/dist/collection/components/pcm-zsk-chat-modal/pcm-zsk-chat-modal.js +3 -5
  92. package/dist/collection/components/pcm-zsk-chat-modal/pcm-zsk-chat-modal.js.map +1 -1
  93. package/dist/collection/components/pcm-zygh-modal/pcm-zygh-modal.css +68 -68
  94. package/dist/collection/components/pcm-zygh-modal/pcm-zygh-modal.js +4 -4
  95. package/dist/collection/components/pcm-zygh-modal/pcm-zygh-modal.js.map +1 -1
  96. package/dist/collection/global/global.css +401 -398
  97. package/dist/collection/global/markdown.css +1233 -1233
  98. package/dist/collection/global/message.js.map +1 -1
  99. package/dist/collection/index.js.map +1 -1
  100. package/dist/collection/interfaces/chat.js.map +1 -1
  101. package/dist/collection/interfaces/events.js.map +1 -1
  102. package/dist/collection/services/message.service.js.map +1 -1
  103. package/dist/collection/utils/env.js +3 -0
  104. package/dist/collection/utils/env.js.map +1 -1
  105. package/dist/collection/utils/error-event.js.map +1 -1
  106. package/dist/collection/utils/init.js.map +1 -1
  107. package/dist/collection/utils/sentry-reporter.js.map +1 -1
  108. package/dist/collection/utils/utils.js +48 -24
  109. package/dist/collection/utils/utils.js.map +1 -1
  110. package/dist/components/index.js +3 -5482
  111. package/dist/components/index.js.map +1 -1
  112. package/dist/components/{p-AYWZDCn8.js → p-B0WOTw9J.js} +51 -4
  113. package/dist/components/p-B0WOTw9J.js.map +1 -0
  114. package/dist/components/{p-DUQ46MUh.js → p-BGXbWUJg.js} +3 -3
  115. package/dist/components/{p-DUQ46MUh.js.map → p-BGXbWUJg.js.map} +1 -1
  116. package/dist/{esm/sentry-reporter-BFBS363a.js → components/p-BW3r6Lrf.js} +5 -32
  117. package/dist/components/p-BW3r6Lrf.js.map +1 -0
  118. package/dist/{esm/app-globals-Chti62re.js → components/p-BdiUKin5.js} +9619 -4296
  119. package/dist/components/p-BdiUKin5.js.map +1 -0
  120. package/dist/components/{p-FjtoYPVY.js → p-BywzltXy.js} +10 -9
  121. package/dist/components/p-BywzltXy.js.map +1 -0
  122. package/dist/components/p-C2OsjtRx.js +208 -0
  123. package/dist/components/p-C2OsjtRx.js.map +1 -0
  124. package/dist/components/{p-D2Z8casl.js → p-CuIvbaWY.js} +5 -5
  125. package/dist/components/p-CuIvbaWY.js.map +1 -0
  126. package/dist/components/p-D0ZMoyH8.js +251 -0
  127. package/dist/components/p-D0ZMoyH8.js.map +1 -0
  128. package/dist/components/{p-CjbFHLT7.js → p-De3VHEUn.js} +7 -71
  129. package/dist/components/p-De3VHEUn.js.map +1 -0
  130. package/dist/components/p-Dv8qvK0w.js +2646 -0
  131. package/dist/components/p-Dv8qvK0w.js.map +1 -0
  132. package/dist/components/p-RD3mwuBX.js +226 -0
  133. package/dist/components/p-RD3mwuBX.js.map +1 -0
  134. package/dist/components/p-njngFX_n.js +80 -0
  135. package/dist/components/p-njngFX_n.js.map +1 -0
  136. package/dist/components/pcm-1zhanshi-mnms-modal.js +7 -7
  137. package/dist/components/pcm-1zhanshi-mnms-modal.js.map +1 -1
  138. package/dist/components/pcm-app-chat-modal.js +1 -1
  139. package/dist/components/pcm-button.js +2 -2
  140. package/dist/components/pcm-button.js.map +1 -1
  141. package/dist/components/pcm-card.js +3 -3
  142. package/dist/components/pcm-card.js.map +1 -1
  143. package/dist/components/pcm-chat-message.js +1 -1
  144. package/dist/components/pcm-drawer.js +1 -1
  145. package/dist/components/pcm-hr-chat-modal.js +5 -4
  146. package/dist/components/pcm-hr-chat-modal.js.map +1 -1
  147. package/dist/components/pcm-htws-modal.js +8 -7
  148. package/dist/components/pcm-htws-modal.js.map +1 -1
  149. package/dist/components/pcm-hyzj-modal.js +8 -7
  150. package/dist/components/pcm-hyzj-modal.js.map +1 -1
  151. package/dist/components/pcm-jd-modal.js +8 -7
  152. package/dist/components/pcm-jd-modal.js.map +1 -1
  153. package/dist/components/pcm-jlpp-modal.js +8 -7
  154. package/dist/components/pcm-jlpp-modal.js.map +1 -1
  155. package/dist/components/pcm-message.js +3 -3
  156. package/dist/components/pcm-message.js.map +1 -1
  157. package/dist/components/pcm-mnct-modal.js +8 -7
  158. package/dist/components/pcm-mnct-modal.js.map +1 -1
  159. package/dist/components/pcm-mnms-modal.js +60 -90
  160. package/dist/components/pcm-mnms-modal.js.map +1 -1
  161. package/dist/components/pcm-mnms-video-modal.js +8 -7
  162. package/dist/components/pcm-mnms-video-modal.js.map +1 -1
  163. package/dist/components/pcm-mnms-zp-modal.js +60 -90
  164. package/dist/components/pcm-mnms-zp-modal.js.map +1 -1
  165. package/dist/components/pcm-mobile-input-btn.d.ts +11 -0
  166. package/dist/components/pcm-mobile-input-btn.js +9 -0
  167. package/dist/components/pcm-mobile-input-btn.js.map +1 -0
  168. package/dist/components/pcm-mobile-upload-btn.d.ts +11 -0
  169. package/dist/components/pcm-mobile-upload-btn.js +9 -0
  170. package/dist/components/pcm-mobile-upload-btn.js.map +1 -0
  171. package/dist/components/pcm-msbg-modal.js +8 -7
  172. package/dist/components/pcm-msbg-modal.js.map +1 -1
  173. package/dist/components/pcm-qgqjl-modal.js +8 -7
  174. package/dist/components/pcm-qgqjl-modal.js.map +1 -1
  175. package/dist/components/pcm-time-count-down.d.ts +11 -0
  176. package/dist/components/pcm-time-count-down.js +9 -0
  177. package/dist/components/pcm-time-count-down.js.map +1 -0
  178. package/dist/components/pcm-upload.d.ts +11 -0
  179. package/dist/components/pcm-upload.js +9 -0
  180. package/dist/components/pcm-upload.js.map +1 -0
  181. package/dist/components/pcm-zsk-chat-modal.js +4 -4
  182. package/dist/components/pcm-zsk-chat-modal.js.map +1 -1
  183. package/dist/components/pcm-zygh-modal.js +8 -7
  184. package/dist/components/pcm-zygh-modal.js.map +1 -1
  185. package/dist/esm/error-event-C0FYX2-Z.js +31 -0
  186. package/dist/esm/error-event-C0FYX2-Z.js.map +1 -0
  187. package/dist/esm/{index-GyOE8SlD.js → index-BnNqOUZf.js} +51 -4
  188. package/dist/esm/index-BnNqOUZf.js.map +1 -0
  189. package/dist/esm/index-BuVfV0zo.js +11035 -0
  190. package/dist/esm/index-BuVfV0zo.js.map +1 -0
  191. package/dist/esm/index.js +2 -2
  192. package/dist/esm/loader.js +3 -5
  193. package/dist/esm/loader.js.map +1 -1
  194. package/dist/esm/message.service-DXVhHj6-.js +133 -0
  195. package/dist/esm/message.service-DXVhHj6-.js.map +1 -0
  196. package/dist/esm/{pcm-1zhanshi-mnms-modal_17.entry.js → pcm-1zhanshi-mnms-modal_21.entry.js} +3225 -169
  197. package/dist/esm/pcm-1zhanshi-mnms-modal_21.entry.js.map +1 -0
  198. package/dist/esm/pcm-agents.js +4 -6
  199. package/dist/esm/pcm-agents.js.map +1 -1
  200. package/dist/esm/pcm-message.entry.js +3 -3
  201. package/dist/esm/pcm-message.entry.js.map +1 -1
  202. package/dist/esm/pcm-mnms-video-modal.entry.js +5 -5
  203. package/dist/esm/pcm-mnms-video-modal.entry.js.map +1 -1
  204. package/dist/esm/pcm-mnms-zp-modal.entry.js +28 -85
  205. package/dist/esm/pcm-mnms-zp-modal.entry.js.map +1 -1
  206. package/dist/esm/sentry-reporter-CYzy4_8O.js +70 -0
  207. package/dist/esm/sentry-reporter-CYzy4_8O.js.map +1 -0
  208. package/dist/pcm-agents/index.esm.js +1 -1
  209. package/dist/pcm-agents/loader.esm.js.map +1 -1
  210. package/dist/pcm-agents/p-18a06873.entry.js +2 -0
  211. package/dist/pcm-agents/p-18a06873.entry.js.map +1 -0
  212. package/dist/pcm-agents/p-47e2e1d0.entry.js +2 -0
  213. package/dist/pcm-agents/p-47e2e1d0.entry.js.map +1 -0
  214. package/dist/pcm-agents/{p-3608c0c6.entry.js → p-7a582f00.entry.js} +2 -2
  215. package/dist/pcm-agents/p-7a582f00.entry.js.map +1 -0
  216. package/dist/pcm-agents/p-BhFnI70g.js +2 -0
  217. package/dist/pcm-agents/p-BhFnI70g.js.map +1 -0
  218. package/dist/pcm-agents/p-BuVfV0zo.js +3 -0
  219. package/dist/pcm-agents/p-BuVfV0zo.js.map +1 -0
  220. package/dist/pcm-agents/p-C0FYX2-Z.js +2 -0
  221. package/dist/pcm-agents/p-C0FYX2-Z.js.map +1 -0
  222. package/dist/pcm-agents/p-DXVhHj6-.js +2 -0
  223. package/dist/pcm-agents/p-DXVhHj6-.js.map +1 -0
  224. package/dist/pcm-agents/p-DkeaAFic.js +2 -0
  225. package/dist/pcm-agents/p-DkeaAFic.js.map +1 -0
  226. package/dist/pcm-agents/p-f5f96853.entry.js +245 -0
  227. package/dist/pcm-agents/p-f5f96853.entry.js.map +1 -0
  228. package/dist/pcm-agents/pcm-agents.esm.js +1 -1
  229. package/dist/pcm-agents/pcm-agents.esm.js.map +1 -1
  230. package/dist/pcm-agents/pcm-message.entry.esm.js.map +1 -1
  231. package/dist/pcm-agents/pcm-mnms-video-modal.entry.esm.js.map +1 -1
  232. package/dist/pcm-agents/pcm-mnms-zp-modal.entry.esm.js.map +1 -1
  233. package/dist/store/auth.store.js.map +1 -1
  234. package/dist/store/config.store.js.map +1 -1
  235. package/dist/types/components/pcm-mnms-modal/pcm-mnms-modal.d.ts +9 -4
  236. package/dist/types/components/pcm-mnms-zp-modal/pcm-mnms-zp-modal.d.ts +9 -4
  237. package/dist/types/components/pcm-mobile-input-btn/pcm-mobile-input-btn.d.ts +36 -0
  238. package/dist/types/components/pcm-mobile-input-btn/uploadNumberSDK.d.ts +9 -0
  239. package/dist/types/components/pcm-mobile-upload-btn/pcm-mobile-upload-btn.d.ts +44 -0
  240. package/dist/types/components/pcm-mobile-upload-btn/uploadNumberSDK.d.ts +9 -0
  241. package/dist/types/components/pcm-time-count-down/pcm-time-count-down.d.ts +15 -0
  242. package/dist/types/components/pcm-upload/pcm-upload.d.ts +54 -0
  243. package/dist/types/components/pcm-upload/type.d.ts +4 -0
  244. package/dist/types/components.d.ts +798 -30
  245. package/dist/types/stencil-public-runtime.d.ts +1 -1
  246. package/dist/types/utils/env.d.ts +2 -0
  247. package/dist/types/utils/utils.d.ts +30 -12
  248. package/package.json +70 -69
  249. package/dist/cjs/app-globals-BIO4q6tX.js +0 -5487
  250. package/dist/cjs/app-globals-BIO4q6tX.js.map +0 -1
  251. package/dist/cjs/exports-Dc-pQh4A.js +0 -4087
  252. package/dist/cjs/exports-Dc-pQh4A.js.map +0 -1
  253. package/dist/cjs/index-C_qhED9Z.js +0 -1538
  254. package/dist/cjs/index-C_qhED9Z.js.map +0 -1
  255. package/dist/cjs/index-CvEfNyEj.js.map +0 -1
  256. package/dist/cjs/pcm-1zhanshi-mnms-modal_17.cjs.entry.js.map +0 -1
  257. package/dist/cjs/sentry-reporter-BWFtw_aT.js.map +0 -1
  258. package/dist/components/p-75J0r72D.js +0 -4017
  259. package/dist/components/p-75J0r72D.js.map +0 -1
  260. package/dist/components/p-AYWZDCn8.js.map +0 -1
  261. package/dist/components/p-CR7WLzmM.js +0 -1303
  262. package/dist/components/p-CR7WLzmM.js.map +0 -1
  263. package/dist/components/p-CjbFHLT7.js.map +0 -1
  264. package/dist/components/p-D2Z8casl.js.map +0 -1
  265. package/dist/components/p-FjtoYPVY.js.map +0 -1
  266. package/dist/esm/app-globals-Chti62re.js.map +0 -1
  267. package/dist/esm/exports-Bs-zO1WZ.js +0 -4017
  268. package/dist/esm/exports-Bs-zO1WZ.js.map +0 -1
  269. package/dist/esm/index-Bq0K-WqZ.js +0 -1528
  270. package/dist/esm/index-Bq0K-WqZ.js.map +0 -1
  271. package/dist/esm/index-GyOE8SlD.js.map +0 -1
  272. package/dist/esm/pcm-1zhanshi-mnms-modal_17.entry.js.map +0 -1
  273. package/dist/esm/sentry-reporter-BFBS363a.js.map +0 -1
  274. package/dist/pcm-agents/p-2Gpw8rvH.js +0 -2
  275. package/dist/pcm-agents/p-2Gpw8rvH.js.map +0 -1
  276. package/dist/pcm-agents/p-3608c0c6.entry.js.map +0 -1
  277. package/dist/pcm-agents/p-60d7a0b0.entry.js +0 -2
  278. package/dist/pcm-agents/p-60d7a0b0.entry.js.map +0 -1
  279. package/dist/pcm-agents/p-9e6efc2d.entry.js +0 -2
  280. package/dist/pcm-agents/p-9e6efc2d.entry.js.map +0 -1
  281. package/dist/pcm-agents/p-BUV0S8Cc.js +0 -2
  282. package/dist/pcm-agents/p-BUV0S8Cc.js.map +0 -1
  283. package/dist/pcm-agents/p-Bq0K-WqZ.js +0 -3
  284. package/dist/pcm-agents/p-Bq0K-WqZ.js.map +0 -1
  285. package/dist/pcm-agents/p-Bs-zO1WZ.js +0 -2
  286. package/dist/pcm-agents/p-Bs-zO1WZ.js.map +0 -1
  287. package/dist/pcm-agents/p-CeRTfvY9.js +0 -2
  288. package/dist/pcm-agents/p-CeRTfvY9.js.map +0 -1
  289. package/dist/pcm-agents/p-e6c87a78.entry.js +0 -2
  290. package/dist/pcm-agents/p-e6c87a78.entry.js.map +0 -1
  291. /package/dist/types/{code/agents-sdk → Users/debugksir/Documents/pcm/sdk}/packages/pcm-agents/.stencil/store/auth.store.d.ts +0 -0
  292. /package/dist/types/{code/agents-sdk → Users/debugksir/Documents/pcm/sdk}/packages/pcm-agents/.stencil/store/config.store.d.ts +0 -0
@@ -1,8 +1,9 @@
1
- import { p as proxyCustomElement, H, c as createEvent, h } from './p-CR7WLzmM.js';
2
- import { a as authStore, d as fetchAgentInfo, b as sendSSERequest, s as sendHttpRequest, c as synthesizeAudio, u as uploadFileToBackend } from './p-AYWZDCn8.js';
3
- import { d as defineCustomElement$2, m as marked, S as SentryReporter, E as ErrorEventBus } from './p-CjbFHLT7.js';
4
- import { c as configStore } from './p-DUQ46MUh.js';
5
- import { d as defineCustomElement$1 } from './p-D2Z8casl.js';
1
+ import { p as proxyCustomElement, H, d as createEvent, h } from './p-BdiUKin5.js';
2
+ import { a as authStore, e as fetchAgentInfo, b as sendSSERequest, s as sendHttpRequest, c as synthesizeAudio, u as uploadFileToBackend } from './p-B0WOTw9J.js';
3
+ import { d as defineCustomElement$2, m as marked, E as ErrorEventBus } from './p-De3VHEUn.js';
4
+ import { c as configStore } from './p-BGXbWUJg.js';
5
+ import { S as SentryReporter } from './p-BW3r6Lrf.js';
6
+ import { d as defineCustomElement$1 } from './p-CuIvbaWY.js';
6
7
 
7
8
  const pcmAppChatModalCss = ":host{display:block;font-size:16px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0, 0, 0, 0.5);display:flex;justify-content:center;align-items:center;overflow-y:auto;padding:20px;z-index:1000}.fullscreen-overlay{padding:0;position:absolute;width:100%;height:100%}.modal-container{background:white;border-radius:8px;width:100%;max-width:900px;display:flex;flex-direction:column;position:relative;margin:auto}.modal-container.fullscreen{width:100%;max-width:none;height:100%;border-radius:0;margin:0;display:flex;flex-direction:column;max-height:100%}.modal-container.fullscreen>div:not(.modal-header):not(.initial-upload){display:flex;flex-direction:column;flex:1;overflow:hidden;height:100%}.pc-layout{width:80%;max-width:800px;min-width:320px;min-height:400px}.video-preview.placeholder{display:flex;justify-content:center;align-items:center;background:#EAEAEA}.placeholder-status{color:#00000066}.placeholder-status p{font-size:16px}.waiting-message p{margin:0;font-size:16px;color:white;font-weight:500}.recording-container{width:100%;display:flex;flex-direction:column;align-items:center}.video-container{width:100%;display:flex;flex-wrap:wrap;justify-content:center;margin-bottom:20px}.video-area{width:100%;display:flex;flex-direction:column;align-items:center}.stop-recording-button{width:100%;height:100%;font-size:16px;background:#f44336;border-radius:6px;color:white;border:none;cursor:pointer}.stop-recording-button:hover{background:#d32f2f}.play-audio-container{width:100%;height:100%;display:flex;justify-content:center;align-items:center}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:4px 16px;height:50px;border-bottom:1px solid #e8e8e8;flex-shrink:0;}.header-left{display:flex;align-items:center;gap:8px}.header-left div{font-size:16px}.header-icon{width:24px;height:24px}.close-button{background:transparent;border:none;cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:4px}.close-button:hover{background-color:rgba(0, 0, 0, 0.04)}.close-button span{font-size:24px;line-height:1;color:#999}.close-button:hover span{color:#666}.chat-container{background-image:url(https://pub.pincaimao.com/static/web/images/login/bg_login_m.png);background-size:100%;height:100%;border-radius:0px 0px 8px 8px}.chat-history{position:relative;flex:1;overflow-y:auto;padding:20px;scroll-behavior:smooth;height:400px}.fullscreen .chat-history{height:auto;flex:1 1 auto}.message-input{padding:16px;border-top:1px solid #eee;display:flex;gap:8px;align-items:center}.message-input input{flex:1;padding:8px 12px;border:1px solid #ddd;border-radius:4px;outline:none;transition:border-color 0.2s ease}.message-input input:focus{border-color:#bbb}.message{margin-bottom:16px;opacity:1;transition:opacity 0.3s ease}.message-content{max-width:70%;padding:8px 12px;border-radius:8px;word-break:break-word}.message-content p{margin:0;word-break:break-word}.user-message{display:flex;justify-content:flex-end}.agent-message{display:flex;justify-content:flex-start}.user-message .message-content{background-color:#007bff;color:white}.agent-message .message-content{background-color:#f1f1f1}.message-time{font-size:12px;color:#999;margin-top:4px;display:block}.send-button{width:38px;height:38px;border-radius:16px;background:#0d75fb;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color 0.2s ease}.send-button img{width:24px;height:24px}.send-button:hover{background:#0a62d6}.send-button.disabled{background:#d9d9d9;cursor:not-allowed}.empty-state{display:flex;justify-content:center;align-items:center;height:100%;color:#999;text-align:center}.loading-container{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;justify-content:center;align-items:center;background-color:rgba(255, 255, 255, 0.98);z-index:1;opacity:1;transition:opacity 0.3s ease}.loading-container p{margin-top:16px;color:#666;font-size:14px}.loading-spinner{width:40px;height:40px;border:3px solid #f3f3f3;border-top:3px solid #1890ff;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.messages-wrapper{width:100%;min-height:100%;display:flex;flex-direction:column;justify-content:flex-end}.messages-wrapper.has-overflow{justify-content:flex-start}.suggested-questions{display:flex;flex-direction:column;gap:8px;padding:16px}.suggested-question{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background-color:#f3f4f6;border-radius:4px;cursor:pointer;font-size:14px;color:#374151;transition:background-color 0.2s}.suggested-question:hover{background-color:#e5e7eb}.arrow-right{margin-left:8px}.loading-suggestions{display:flex;justify-content:center;padding:16px}.loading-spinner-small{width:20px;height:20px;border:2px solid #e5e7eb;border-top-color:#6b7280;border-radius:50%;animation:spin 1s linear infinite}.upload-button{background:transparent;border:none;cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center;color:#666;border-radius:4px;transition:background-color 0.2s}.upload-button:hover{background-color:rgba(0, 0, 0, 0.04)}.upload-button svg{width:20px;height:20px}.file-input{display:none}.selected-file{font-size:12px;color:#666;margin-left:8px;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.input-wrapper{flex:1;display:flex;align-items:center;border:1px solid #ddd;border-radius:4px;padding:0 4px;background:white}.input-wrapper input{border:none;flex:1;padding:8px;outline:none}.input-wrapper:focus-within{border-color:#bbb}.file-preview{padding:8px 16px;border-top:1px solid #eee;background-color:#f9f9f9}.recording-section{border-top:1px solid #eee;display:flex;flex-direction:column;align-items:center;padding:10px 20px 0px 20px;border-radius:14px 14px 0 0;flex:0 0 auto}.recording-section .video-preview{width:100%;height:200px;max-width:400px;position:relative;margin-bottom:10px;border:1px solid #ddd;border-radius:12px;overflow:hidden}.recording-section video{width:100%;height:100%;object-fit:cover}.recording-status{position:absolute;top:10px;left:10px;background-color:rgba(0, 0, 0, 0.6);color:white;padding:4px 8px;border-radius:4px;display:flex;align-items:center;gap:5px;font-size:14px;z-index:2}.recording-status .recording-dot{display:inline-block;width:10px;height:10px;background-color:red;border-radius:50%;margin-right:5px;animation:blink 1s infinite}.recording-status.warning{color:#ff4d4f;animation:blink 1s infinite}@keyframes blink{0%{opacity:1}50%{opacity:0.5}100%{opacity:1}}.recording-section .stop-recording-button{background-color:#f44336;color:white;border:none;cursor:pointer;font-weight:bold}.recording-section .stop-recording-button:hover{background-color:#d32f2f}.fullscreen{width:100vw;border-radius:0;height:100vh;display:flex;flex-direction:column;overflow-y:auto}.recording-controls{margin-top:10px;height:53px;width:100%;max-width:400px;display:flex;justify-content:center}.recording-controls .waiting-message{text-align:center;color:white;font-size:16px;background-color:#0D75FB;border-radius:6px;width:95%;display:flex;justify-content:center;align-items:center;cursor:pointer}.recording-controls .waiting-message.loading{background:#faad14}.recording-controls .waiting-message p{margin:0;font-size:16px;color:white;font-weight:500}.recording-controls .stop-recording-button{background-color:#dc3545;color:white;border:none;cursor:pointer;font-size:16px}.recording-controls .stop-recording-button:hover{background-color:#c82333}.recording-controls .stop-recording-button.disabled{background:#ccc;cursor:not-allowed}.recording-controls .stop-recording-button.disabled:hover{background:#ccc}.progress-container{display:flex;justify-content:space-between;align-items:center;width:100%;max-width:400px;margin-top:10px;padding:0 5px}.progress-bar-container{height:4px;background-color:#E5E5E5;border-radius:2px;overflow:hidden;margin-right:10px;width:75px}.progress-bar{height:100%;background-image:linear-gradient(111deg, #4A9FFF 0%, #1058FF 100%);border-radius:2px;transition:width 0.3s ease}.progress-text{font-size:14px;color:#666;white-space:nowrap}.text-input-area{display:flex;flex-direction:column;width:100%;height:100%;padding:0px 16px 16px 16px;border-radius:8px;border:none;}.text-answer-input{flex:1;min-height:80px;padding:12px 12px 0px 12px;border:1px solid #ddd;border-radius:8px 8px 0 0;resize:none;font-size:16px;background-color:#fff;border-bottom:none;outline:none;}.input-toolbar{display:flex;justify-content:end;align-items:center;padding:8px 12px;background-color:#fff;border:1px solid #ddd;border-top:none;border-radius:0 0 8px 8px}.text-answer-input:focus{border-color:rgb(74, 144, 226);border-bottom:none}.text-answer-input:focus+.input-toolbar{border-color:rgb(74, 144, 226);border-top:none}.toolbar-actions{width:32px;height:32px;display:flex;justify-content:center;align-items:center;margin-right:10px;border:1px solid #d9d9d9;border-radius:6px}.toolbar-actions:hover{background-color:#f0f0f0}.toolbar-button{background:transparent;border:none;color:#666;cursor:pointer;padding:0;margin:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center}.toolbar-button>div,.toolbar-button>svg{display:flex;justify-content:center;align-items:center}.submit-text-button{padding:6px 16px;background-color:#4a90e2;color:white;border:none;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color 0.2s}.submit-text-button:hover:not(.disabled){background-color:#3a7bc8}.submit-text-button.disabled{background-color:#b3b3b3;cursor:not-allowed}.toolbar-button.recording{background-color:rgba(255, 0, 0, 0.1);color:#ff3b30;animation:pulse 1.5s infinite}.toolbar-button.converting{background-color:rgba(0, 122, 255, 0.1);color:#007aff}.toolbar-button .recording-time{font-size:12px;margin-left:4px}.converting-indicator{display:flex;justify-content:center;align-items:center}.converting-indicator svg{animation:spin 1.5s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(255, 0, 0, 0.4)}70%{box-shadow:0 0 0 6px rgba(255, 0, 0, 0)}100%{box-shadow:0 0 0 0 rgba(255, 0, 0, 0)}}@media screen and (max-width: 768px){.pc-layout{width:95%}.modal-overlay{padding:0}.modal-container.fullscreen{width:100%;height:100%;max-height:100%;border-radius:16px 16px 0 0;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom)}}.workspace-section{width:100%;padding:0px 16px 16px}.workspace-toolbar{display:flex;justify-content:end;align-items:center;gap:12px}.workspace-button{display:flex;align-items:center;gap:6px;padding:8px 16px;border:1px solid #d9d9d9;border-radius:6px;background:white;color:#666;font-size:14px;cursor:pointer;transition:all 0.2s ease;box-shadow:0 1px 2px rgba(0, 0, 0, 0.05)}.workspace-button:hover{border-color:#4096ff;color:#4096ff;box-shadow:0 2px 4px rgba(64, 150, 255, 0.1)}.workspace-button svg{flex-shrink:0}.history-drawer-content{height:100%;display:flex;flex-direction:column}.conversation-list{flex:1;overflow-y:auto;padding:8px 0}.loading-conversations,.empty-conversations{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;color:#999}.loading-conversations .loading-spinner-small{margin-bottom:12px}.conversation-item{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;margin:0 8px 4px 8px;border-radius:8px;cursor:pointer;transition:all 0.2s ease;border:1px solid transparent}.conversation-item:hover{background:#f5f5f5}.conversation-item.active{background:#e6f7ff;border-color:#1890ff}.conversation-info{flex:1;min-width:0}.conversation-title{font-size:14px;font-weight:500;color:#262626;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversation-meta{display:flex;align-items:center;gap:8px;font-size:12px;color:#8c8c8c}.conversation-time{flex-shrink:0}.message-count{flex-shrink:0}.conversation-status{padding:2px 6px;border-radius:4px;font-size:11px;font-weight:500}.conversation-status.completed{background:#f6ffed;color:#52c41a}.conversation-status.running{background:#fff7e6;color:#fa8c16}.current-indicator{flex-shrink:0;color:#1890ff;margin-left:8px}";
8
9
 
@@ -972,7 +973,7 @@ const ChatAPPModal = /*@__PURE__*/ proxyCustomElement(class ChatAPPModal extends
972
973
  this.videoRef = null;
973
974
  }
974
975
  }
975
- // 修改音频转文字方法
976
+ // 修改音视频转文字方法
976
977
  async convertAudioToText(cosKey) {
977
978
  try {
978
979
  const result = await sendHttpRequest({
@@ -1634,7 +1635,7 @@ const ChatAPPModal = /*@__PURE__*/ proxyCustomElement(class ChatAPPModal extends
1634
1635
  this.isDrawerOpen = false;
1635
1636
  this.previewUrl = '';
1636
1637
  this.previewContent = '';
1637
- } }, this.previewContentType === 'file' && this.previewUrl && (h("div", { class: "file-preview-container" }, h("iframe", { src: this.previewUrl, frameborder: "0", width: "100%", height: "100%", style: { border: 'none', height: 'calc(100vh - 120px)' } }))), this.previewContentType === 'markdown' && this.previewContent && (h("div", { class: "markdown-preview-container markdown-body", innerHTML: marked(this.previewContent) })), this.previewContentType === 'text' && this.previewContent && (h("div", { class: "text-preview-container" }, h("pre", null, this.previewContent)))), h("pcm-drawer", { isOpen: this.isHistoryDrawerOpen, drawerTitle: "\u5386\u53F2\u4F1A\u8BDD", width: "400px", onClosed: () => {
1638
+ } }, this.previewContentType === 'file' && this.previewUrl && (h("div", { class: "file-preview-container" }, h("iframe", { src: this.previewUrl, frameborder: "0", width: "100%", height: "100%", style: { border: 'none', height: 'calc(100vh - 120px)' } }))), this.previewContentType === 'markdown' && this.previewContent && (h("div", { class: "markdown-preview-container markdown-body", innerHTML: marked(this.previewContent) })), this.previewContentType === 'text' && this.previewContent && (h("div", { class: "text-preview-container" }, h("pre", { style: { whiteSpace: 'pre-wrap', wordWrap: 'break-word' } }, this.previewContent)))), h("pcm-drawer", { isOpen: this.isHistoryDrawerOpen, drawerTitle: "\u5386\u53F2\u4F1A\u8BDD", width: "400px", onClosed: () => {
1638
1639
  this.isHistoryDrawerOpen = false;
1639
1640
  } }, h("div", { class: "history-drawer-content" }, h("div", { class: "conversation-list" }, this.isLoadingConversations ? (h("div", { class: "loading-conversations" }, h("div", { class: "loading-spinner-small" }), h("p", null, "\u52A0\u8F7D\u4E2D..."))) : this.historyConversations.length === 0 ? (h("div", { class: "empty-conversations" }, h("p", null, "\u6682\u65E0\u5386\u53F2\u4F1A\u8BDD"))) : (this.historyConversations.map((conversation) => (h("div", { key: conversation.id, class: {
1640
1641
  'conversation-item': true,
@@ -1747,6 +1748,6 @@ function defineCustomElement() {
1747
1748
  defineCustomElement();
1748
1749
 
1749
1750
  export { ChatAPPModal as C, defineCustomElement as d };
1750
- //# sourceMappingURL=p-FjtoYPVY.js.map
1751
+ //# sourceMappingURL=p-BywzltXy.js.map
1751
1752
 
1752
- //# sourceMappingURL=p-FjtoYPVY.js.map
1753
+ //# sourceMappingURL=p-BywzltXy.js.map
@@ -0,0 +1 @@
1
+ {"file":"p-BywzltXy.js","mappings":";;;;;;;AAAA,MAAM,kBAAkB,GAAG,0iYAA0iY;;ACArkY,MAAM,WAAW,GAAG,wyzBAAwyzB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/pcm-app-chat-modal/pcm-app-chat-modal.css?tag=pcm-app-chat-modal&encapsulation=shadow","src/global/markdown.css?tag=pcm-app-chat-modal&encapsulation=shadow"],"sourcesContent":[":host {\n display: block;\n font-size: 16px;\n}\n\n.modal-overlay {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background-color: rgba(0, 0, 0, 0.5);\n display: flex;\n justify-content: center;\n align-items: center;\n overflow-y: auto;\n padding: 20px;\n z-index: 1000;\n}\n\n/* 全屏模式下的overlay样式 */\n.fullscreen-overlay {\n padding: 0;\n /* 改为基于父组件的全屏 */\n position: absolute;\n width: 100%;\n height: 100%;\n}\n\n.modal-container {\n background: white;\n border-radius: 8px;\n width: 100%;\n max-width: 900px;\n display: flex;\n flex-direction: column;\n position: relative;\n margin: auto;\n}\n\n/* 全屏模式样式 - 改为基于父组件 */\n.modal-container.fullscreen {\n width: 100%;\n max-width: none;\n height: 100%;\n border-radius: 0;\n margin: 0;\n display: flex;\n flex-direction: column;\n max-height: 100%;\n}\n\n/* 确保内容区域也使用 flex 布局并占满剩余空间 */\n.modal-container.fullscreen>div:not(.modal-header):not(.initial-upload) {\n display: flex;\n flex-direction: column;\n flex: 1;\n overflow: hidden;\n /* 防止内容溢出 */\n height: 100%;\n}\n\n/* PC端布局 */\n.pc-layout {\n width: 80%;\n max-width: 800px;\n /* height: 80vh; */\n /* max-height: 700px; */\n min-width: 320px;\n min-height: 400px;\n}\n\n.video-preview.placeholder {\n display: flex;\n justify-content: center;\n align-items: center;\n background: #EAEAEA;\n}\n\n.placeholder-status {\n color: #00000066;\n}\n\n.placeholder-status p{\n font-size: 16px;\n}\n\n.waiting-message p {\n margin: 0;\n font-size: 16px;\n color: white;\n font-weight: 500;\n}\n\n.recording-container {\n width: 100%;\n display: flex;\n flex-direction: column;\n align-items: center;\n}\n\n.video-container {\n width: 100%;\n display: flex;\n flex-wrap: wrap;\n justify-content: center;\n margin-bottom: 20px;\n}\n\n.video-area {\n width: 100%;\n display: flex;\n flex-direction: column;\n align-items: center;\n}\n\n.stop-recording-button {\n width: 100%;\n height: 100%;\n font-size: 16px;\n background: #f44336;\n border-radius: 6px;\n color: white;\n border: none;\n cursor: pointer;\n}\n\n.stop-recording-button:hover {\n background: #d32f2f;\n}\n\n.play-audio-container {\n width: 100%;\n height: 100%;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.modal-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 4px 16px;\n height: 50px;\n border-bottom: 1px solid #e8e8e8;\n flex-shrink: 0;\n /* 防止头部被压缩 */\n}\n\n.header-left {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.header-left div {\n font-size: 16px;\n}\n\n.header-icon {\n width: 24px;\n height: 24px;\n}\n\n.close-button {\n background: transparent;\n border: none;\n cursor: pointer;\n padding: 8px;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n height: 32px;\n border-radius: 4px;\n}\n\n.close-button:hover {\n background-color: rgba(0, 0, 0, 0.04);\n}\n\n.close-button span {\n font-size: 24px;\n line-height: 1;\n color: #999;\n}\n\n.close-button:hover span {\n color: #666;\n}\n\n.chat-container {\n background-image: url(https://pub.pincaimao.com/static/web/images/login/bg_login_m.png);\n background-size: 100%;\n height: 100%;\n border-radius: 0px 0px 8px 8px;\n}\n\n.chat-history {\n position: relative;\n flex: 1;\n overflow-y: auto;\n padding: 20px;\n scroll-behavior: smooth;\n height: 400px;\n}\n\n/* 添加全屏模式下的样式 */\n.fullscreen .chat-history {\n height: auto;\n flex: 1 1 auto;\n}\n\n.message-input {\n padding: 16px;\n border-top: 1px solid #eee;\n display: flex;\n gap: 8px;\n align-items: center;\n}\n\n.message-input input {\n flex: 1;\n padding: 8px 12px;\n border: 1px solid #ddd;\n border-radius: 4px;\n outline: none;\n transition: border-color 0.2s ease;\n}\n\n.message-input input:focus {\n border-color: #bbb;\n}\n\n/* 消息样式 */\n.message {\n margin-bottom: 16px;\n opacity: 1;\n transition: opacity 0.3s ease;\n}\n\n.message-content {\n max-width: 70%;\n padding: 8px 12px;\n border-radius: 8px;\n word-break: break-word;\n}\n\n.message-content p {\n margin: 0;\n word-break: break-word;\n}\n\n.user-message {\n display: flex;\n justify-content: flex-end;\n}\n\n.agent-message {\n display: flex;\n justify-content: flex-start;\n}\n\n.user-message .message-content {\n background-color: #007bff;\n color: white;\n}\n\n.agent-message .message-content {\n background-color: #f1f1f1;\n}\n\n.message-time {\n font-size: 12px;\n color: #999;\n margin-top: 4px;\n display: block;\n}\n\n/* 发送按钮样式 */\n.send-button {\n width: 38px;\n height: 38px;\n border-radius: 16px;\n background: #0d75fb;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n transition: background-color 0.2s ease;\n}\n\n.send-button img {\n width: 24px;\n height: 24px;\n}\n\n.send-button:hover {\n background: #0a62d6;\n}\n\n.send-button.disabled {\n background: #d9d9d9;\n cursor: not-allowed;\n}\n\n.empty-state {\n display: flex;\n justify-content: center;\n align-items: center;\n height: 100%;\n color: #999;\n text-align: center;\n}\n\n.loading-container {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n background-color: rgba(255, 255, 255, 0.98);\n z-index: 1;\n opacity: 1;\n transition: opacity 0.3s ease;\n}\n\n.loading-container p {\n margin-top: 16px;\n color: #666;\n font-size: 14px;\n}\n\n.loading-spinner {\n width: 40px;\n height: 40px;\n border: 3px solid #f3f3f3;\n border-top: 3px solid #1890ff;\n border-radius: 50%;\n animation: spin 1s linear infinite;\n}\n\n@keyframes spin {\n 0% {\n transform: rotate(0deg);\n }\n\n 100% {\n transform: rotate(360deg);\n }\n}\n\n/* 修改 messages-wrapper 的样式 */\n.messages-wrapper {\n width: 100%;\n min-height: 100%;\n display: flex;\n flex-direction: column;\n /* 当内容少时,将内容放在底部 */\n justify-content: flex-end;\n}\n\n/* 当有很多消息时,取消固定在底部 */\n.messages-wrapper.has-overflow {\n justify-content: flex-start;\n}\n\n.suggested-questions {\n display: flex;\n flex-direction: column;\n gap: 8px;\n padding: 16px;\n}\n\n.suggested-question {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 8px 12px;\n background-color: #f3f4f6;\n border-radius: 4px;\n cursor: pointer;\n font-size: 14px;\n color: #374151;\n transition: background-color 0.2s;\n}\n\n.suggested-question:hover {\n background-color: #e5e7eb;\n}\n\n.arrow-right {\n margin-left: 8px;\n}\n\n.loading-suggestions {\n display: flex;\n justify-content: center;\n padding: 16px;\n}\n\n.loading-spinner-small {\n width: 20px;\n height: 20px;\n border: 2px solid #e5e7eb;\n border-top-color: #6b7280;\n border-radius: 50%;\n animation: spin 1s linear infinite;\n}\n\n/* 添加上传按钮样式 */\n.upload-button {\n background: transparent;\n border: none;\n cursor: pointer;\n padding: 8px;\n display: flex;\n align-items: center;\n justify-content: center;\n color: #666;\n border-radius: 4px;\n transition: background-color 0.2s;\n}\n\n.upload-button:hover {\n background-color: rgba(0, 0, 0, 0.04);\n}\n\n.upload-button svg {\n width: 20px;\n height: 20px;\n}\n\n/* 隐藏原生文件输入框 */\n.file-input {\n display: none;\n}\n\n/* 添加文件名显示区域样式 */\n.selected-file {\n font-size: 12px;\n color: #666;\n margin-left: 8px;\n max-width: 150px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.input-wrapper {\n flex: 1;\n display: flex;\n align-items: center;\n border: 1px solid #ddd;\n border-radius: 4px;\n padding: 0 4px;\n background: white;\n}\n\n.input-wrapper input {\n border: none;\n flex: 1;\n padding: 8px;\n outline: none;\n}\n\n.input-wrapper:focus-within {\n border-color: #bbb;\n}\n\n/* 文件预览区域样式 */\n.file-preview {\n padding: 8px 16px;\n border-top: 1px solid #eee;\n background-color: #f9f9f9;\n}\n\n.recording-section {\n border-top: 1px solid #eee;\n display: flex;\n flex-direction: column;\n align-items: center;\n padding: 10px 20px 0px 20px;\n border-radius: 14px 14px 0 0;\n flex: 0 0 auto;\n}\n\n.recording-section .video-preview {\n width: 100%;\n height: 200px;\n max-width: 400px;\n position: relative;\n margin-bottom: 10px;\n border: 1px solid #ddd;\n border-radius: 12px;\n overflow: hidden;\n}\n\n.recording-section video {\n width: 100%;\n height: 100%;\n object-fit: cover;\n}\n\n/* 修改 recording-status 样式 */\n.recording-status {\n position: absolute;\n top: 10px;\n left: 10px;\n background-color: rgba(0, 0, 0, 0.6);\n color: white;\n padding: 4px 8px;\n border-radius: 4px;\n display: flex;\n align-items: center;\n gap: 5px;\n font-size: 14px;\n z-index: 2;\n}\n\n.recording-status .recording-dot {\n display: inline-block;\n width: 10px;\n height: 10px;\n background-color: red;\n border-radius: 50%;\n margin-right: 5px;\n animation: blink 1s infinite;\n}\n\n.recording-status.warning {\n color: #ff4d4f;\n animation: blink 1s infinite;\n}\n\n@keyframes blink {\n 0% {\n opacity: 1;\n }\n\n 50% {\n opacity: 0.5;\n }\n\n 100% {\n opacity: 1;\n }\n}\n\n.recording-section .stop-recording-button {\n background-color: #f44336;\n color: white;\n border: none;\n cursor: pointer;\n font-weight: bold;\n}\n\n.recording-section .stop-recording-button:hover {\n background-color: #d32f2f;\n}\n\n.fullscreen {\n width: 100vw;\n border-radius: 0;\n height: 100vh;\n display: flex;\n flex-direction: column;\n overflow-y: auto;\n}\n\n.recording-controls {\n margin-top: 10px;\n height: 53px;\n width: 100%;\n max-width: 400px;\n display: flex;\n justify-content: center;\n}\n\n.recording-controls .waiting-message {\n text-align: center;\n color: white;\n font-size: 16px;\n background-color: #0D75FB;\n border-radius: 6px;\n width: 95%;\n display: flex;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n}\n\n.recording-controls .waiting-message.loading {\n background: #faad14;\n}\n\n.recording-controls .waiting-message p {\n margin: 0;\n font-size: 16px;\n color: white;\n font-weight: 500;\n}\n\n.recording-controls .stop-recording-button {\n background-color: #dc3545;\n color: white;\n border: none;\n cursor: pointer;\n font-size: 16px;\n}\n\n.recording-controls .stop-recording-button:hover {\n background-color: #c82333;\n}\n\n/* 添加禁用状态的样式 */\n.recording-controls .stop-recording-button.disabled {\n background: #ccc;\n cursor: not-allowed;\n}\n\n.recording-controls .stop-recording-button.disabled:hover {\n background: #ccc;\n}\n\n/* 添加进度条和数字进度的样式 */\n.progress-container {\n display: flex;\n justify-content: space-between;\n align-items: center;\n width: 100%;\n max-width: 400px;\n margin-top: 10px;\n padding: 0 5px;\n}\n\n.progress-bar-container {\n height: 4px;\n background-color: #E5E5E5;\n border-radius: 2px;\n overflow: hidden;\n margin-right: 10px;\n width: 75px;\n}\n\n.progress-bar {\n height: 100%;\n background-image: linear-gradient(111deg, #4A9FFF 0%, #1058FF 100%);\n border-radius: 2px;\n transition: width 0.3s ease;\n}\n\n.progress-text {\n font-size: 14px;\n color: #666;\n white-space: nowrap;\n}\n\n/* 重新设计文本输入区域样式 */\n.text-input-area {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n padding: 0px 16px 16px 16px;\n border-radius: 8px;\n border: none;\n /* 确保容器本身没有边框 */\n}\n\n/* 修改文本输入框样式 */\n.text-answer-input {\n flex: 1;\n min-height: 80px;\n padding: 12px 12px 0px 12px;\n border: 1px solid #ddd;\n border-radius: 8px 8px 0 0;\n resize: none;\n font-size: 16px;\n background-color: #fff;\n border-bottom: none;\n outline: none;\n /* 移除默认的焦点轮廓 */\n}\n\n/* 修改工具栏样式 */\n.input-toolbar {\n display: flex;\n justify-content: end;\n align-items: center;\n padding: 8px 12px;\n background-color: #fff;\n border: 1px solid #ddd;\n border-top: none;\n border-radius: 0 0 8px 8px;\n}\n\n/* 当输入框获得焦点时,修改边框颜色 */\n.text-answer-input:focus {\n border-color: rgb(74, 144, 226);\n border-bottom: none;\n}\n\n.text-answer-input:focus+.input-toolbar {\n border-color: rgb(74, 144, 226);\n border-top: none;\n}\n\n/* 左侧工具按钮区域 */\n.toolbar-actions {\n width: 32px;\n height: 32px;\n display: flex;\n justify-content: center;\n align-items: center;\n margin-right: 10px;\n border: 1px solid #d9d9d9;\n border-radius: 6px;\n}\n\n.toolbar-actions:hover {\n background-color: #f0f0f0;\n}\n\n/* 修改工具按钮样式,确保居中 */\n.toolbar-button {\n background: transparent;\n border: none;\n color: #666;\n cursor: pointer;\n padding: 0;\n margin: 0;\n width: 100%;\n height: 100%;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n/* 确保按钮内部的内容也居中 */\n.toolbar-button > div,\n.toolbar-button > svg {\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n/* 发送按钮样式 */\n.submit-text-button {\n padding: 6px 16px;\n background-color: #4a90e2;\n color: white;\n border: none;\n border-radius: 4px;\n font-size: 14px;\n font-weight: 500;\n cursor: pointer;\n transition: background-color 0.2s;\n}\n\n.submit-text-button:hover:not(.disabled) {\n background-color: #3a7bc8;\n}\n\n.submit-text-button.disabled {\n background-color: #b3b3b3;\n cursor: not-allowed;\n}\n\n/* 语音输入按钮样式 */\n.toolbar-button.recording {\n background-color: rgba(255, 0, 0, 0.1);\n color: #ff3b30;\n animation: pulse 1.5s infinite;\n}\n\n.toolbar-button.converting {\n background-color: rgba(0, 122, 255, 0.1);\n color: #007aff;\n}\n\n.toolbar-button .recording-time {\n font-size: 12px;\n margin-left: 4px;\n}\n\n.converting-indicator {\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.converting-indicator svg {\n animation: spin 1.5s linear infinite;\n}\n\n@keyframes spin {\n 0% {\n transform: rotate(0deg);\n }\n\n 100% {\n transform: rotate(360deg);\n }\n}\n\n@keyframes pulse {\n 0% {\n box-shadow: 0 0 0 0 rgba(255, 0, 0, 0.4);\n }\n\n 70% {\n box-shadow: 0 0 0 6px rgba(255, 0, 0, 0);\n }\n\n 100% {\n box-shadow: 0 0 0 0 rgba(255, 0, 0, 0);\n }\n}\n\n/* 响应式布局 */\n@media screen and (max-width: 768px) {\n .pc-layout {\n width: 95%;\n }\n\n .modal-overlay {\n padding: 0;\n }\n\n .modal-container.fullscreen {\n /* 移动端也基于父组件尺寸 */\n width: 100%;\n height: 100%;\n max-height: 100%;\n border-radius: 16px 16px 0 0;\n /* 保留安全区域支持 */\n padding: env(safe-area-inset-top) 0 env(safe-area-inset-bottom);\n }\n}\n\n/* 工作区样式 */\n.workspace-section {\n width: 100%;\n padding: 0px 16px 16px;\n}\n\n.workspace-toolbar {\n display: flex;\n justify-content: end;\n align-items: center;\n gap: 12px;\n}\n\n.workspace-button {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 8px 16px;\n border: 1px solid #d9d9d9;\n border-radius: 6px;\n background: white;\n color: #666;\n font-size: 14px;\n cursor: pointer;\n transition: all 0.2s ease;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);\n}\n\n.workspace-button:hover {\n border-color: #4096ff;\n color: #4096ff;\n box-shadow: 0 2px 4px rgba(64, 150, 255, 0.1);\n}\n\n.workspace-button svg {\n flex-shrink: 0;\n}\n\n\n/* 历史会话抽屉样式 */\n.history-drawer-content {\n height: 100%;\n display: flex;\n flex-direction: column;\n}\n\n\n.conversation-list {\n flex: 1;\n overflow-y: auto;\n padding: 8px 0;\n}\n\n.loading-conversations,\n.empty-conversations {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 40px 20px;\n color: #999;\n}\n\n.loading-conversations .loading-spinner-small {\n margin-bottom: 12px;\n}\n\n.conversation-item {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 12px 16px;\n margin: 0 8px 4px 8px;\n border-radius: 8px;\n cursor: pointer;\n transition: all 0.2s ease;\n border: 1px solid transparent;\n}\n\n.conversation-item:hover {\n background: #f5f5f5;\n}\n\n.conversation-item.active {\n background: #e6f7ff;\n border-color: #1890ff;\n}\n\n.conversation-info {\n flex: 1;\n min-width: 0;\n}\n\n.conversation-title {\n font-size: 14px;\n font-weight: 500;\n color: #262626;\n margin-bottom: 4px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.conversation-meta {\n display: flex;\n align-items: center;\n gap: 8px;\n font-size: 12px;\n color: #8c8c8c;\n}\n\n.conversation-time {\n flex-shrink: 0;\n}\n\n.message-count {\n flex-shrink: 0;\n}\n\n.conversation-status {\n padding: 2px 6px;\n border-radius: 4px;\n font-size: 11px;\n font-weight: 500;\n}\n\n.conversation-status.completed {\n background: #f6ffed;\n color: #52c41a;\n}\n\n.conversation-status.running {\n background: #fff7e6;\n color: #fa8c16;\n}\n\n.current-indicator {\n flex-shrink: 0;\n color: #1890ff;\n margin-left: 8px;\n}","\n.markdown-body {\n --base-size-4: 4px;\n --base-size-8: 8px;\n --base-size-16: 16px;\n --base-size-24: 24px;\n --base-size-40: 40px;\n --base-text-weight-normal: 400;\n --base-text-weight-medium: 500;\n --base-text-weight-semibold: 600;\n --fontStack-monospace: ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace;\n --fgColor-accent: Highlight;\n }\n \n @media (prefers-color-scheme: dark) {\n \n .markdown-body,\n [data-theme=\"dark\"] {\n /* dark */\n color-scheme: dark;\n --focus-outlineColor: #0969da;\n --fgColor-default: #1f2328;\n --fgColor-muted: #59636e;\n --fgColor-accent: #0969da;\n --fgColor-success: #1a7f37;\n --fgColor-attention: #9a6700;\n --fgColor-danger: #d1242f;\n --fgColor-done: #8250df;\n --bgColor-default: #ffffff;\n --bgColor-muted: #f6f8fa;\n --bgColor-neutral-muted: #818b981f;\n --bgColor-attention-muted: #fff8c5;\n --borderColor-default: #d1d9e0;\n --borderColor-muted: #d1d9e0b3;\n --borderColor-neutral-muted: #d1d9e0b3;\n --borderColor-accent-emphasis: #0969da;\n --borderColor-success-emphasis: #1a7f37;\n --borderColor-attention-emphasis: #9a6700;\n --borderColor-danger-emphasis: #cf222e;\n --borderColor-done-emphasis: #8250df;\n --color-prettylights-syntax-comment: #59636e;\n --color-prettylights-syntax-constant: #0550ae;\n --color-prettylights-syntax-constant-other-reference-link: #0a3069;\n --color-prettylights-syntax-entity: #6639ba;\n --color-prettylights-syntax-storage-modifier-import: #1f2328;\n --color-prettylights-syntax-entity-tag: #0550ae;\n --color-prettylights-syntax-keyword: #cf222e;\n --color-prettylights-syntax-string: #0a3069;\n --color-prettylights-syntax-variable: #953800;\n --color-prettylights-syntax-brackethighlighter-unmatched: #82071e;\n --color-prettylights-syntax-brackethighlighter-angle: #59636e;\n --color-prettylights-syntax-invalid-illegal-text: #f6f8fa;\n --color-prettylights-syntax-invalid-illegal-bg: #82071e;\n --color-prettylights-syntax-carriage-return-text: #f6f8fa;\n --color-prettylights-syntax-carriage-return-bg: #cf222e;\n --color-prettylights-syntax-string-regexp: #116329;\n --color-prettylights-syntax-markup-list: #3b2300;\n --color-prettylights-syntax-markup-heading: #0550ae;\n --color-prettylights-syntax-markup-italic: #1f2328;\n --color-prettylights-syntax-markup-bold: #1f2328;\n --color-prettylights-syntax-markup-deleted-text: #82071e;\n --color-prettylights-syntax-markup-deleted-bg: #ffebe9;\n --color-prettylights-syntax-markup-inserted-text: #116329;\n --color-prettylights-syntax-markup-inserted-bg: #dafbe1;\n --color-prettylights-syntax-markup-changed-text: #953800;\n --color-prettylights-syntax-markup-changed-bg: #ffd8b5;\n --color-prettylights-syntax-markup-ignored-text: #d1d9e0;\n --color-prettylights-syntax-markup-ignored-bg: #0550ae;\n --color-prettylights-syntax-meta-diff-range: #8250df;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #818b98;\n }\n }\n \n @media (prefers-color-scheme: light) {\n \n .markdown-body,\n [data-theme=\"light\"] {\n /* light */\n color-scheme: light;\n --focus-outlineColor: #0969da;\n --fgColor-default: #1f2328;\n --fgColor-muted: #59636e;\n --fgColor-accent: #0969da;\n --fgColor-success: #1a7f37;\n --fgColor-attention: #9a6700;\n --fgColor-danger: #d1242f;\n --fgColor-done: #8250df;\n --bgColor-default: #ffffff;\n --bgColor-muted: #f6f8fa;\n --bgColor-neutral-muted: #818b981f;\n --bgColor-attention-muted: #fff8c5;\n --borderColor-default: #d1d9e0;\n --borderColor-muted: #d1d9e0b3;\n --borderColor-neutral-muted: #d1d9e0b3;\n --borderColor-accent-emphasis: #0969da;\n --borderColor-success-emphasis: #1a7f37;\n --borderColor-attention-emphasis: #9a6700;\n --borderColor-danger-emphasis: #cf222e;\n --borderColor-done-emphasis: #8250df;\n --color-prettylights-syntax-comment: #59636e;\n --color-prettylights-syntax-constant: #0550ae;\n --color-prettylights-syntax-constant-other-reference-link: #0a3069;\n --color-prettylights-syntax-entity: #6639ba;\n --color-prettylights-syntax-storage-modifier-import: #1f2328;\n --color-prettylights-syntax-entity-tag: #0550ae;\n --color-prettylights-syntax-keyword: #cf222e;\n --color-prettylights-syntax-string: #0a3069;\n --color-prettylights-syntax-variable: #953800;\n --color-prettylights-syntax-brackethighlighter-unmatched: #82071e;\n --color-prettylights-syntax-brackethighlighter-angle: #59636e;\n --color-prettylights-syntax-invalid-illegal-text: #f6f8fa;\n --color-prettylights-syntax-invalid-illegal-bg: #82071e;\n --color-prettylights-syntax-carriage-return-text: #f6f8fa;\n --color-prettylights-syntax-carriage-return-bg: #cf222e;\n --color-prettylights-syntax-string-regexp: #116329;\n --color-prettylights-syntax-markup-list: #3b2300;\n --color-prettylights-syntax-markup-heading: #0550ae;\n --color-prettylights-syntax-markup-italic: #1f2328;\n --color-prettylights-syntax-markup-bold: #1f2328;\n --color-prettylights-syntax-markup-deleted-text: #82071e;\n --color-prettylights-syntax-markup-deleted-bg: #ffebe9;\n --color-prettylights-syntax-markup-inserted-text: #116329;\n --color-prettylights-syntax-markup-inserted-bg: #dafbe1;\n --color-prettylights-syntax-markup-changed-text: #953800;\n --color-prettylights-syntax-markup-changed-bg: #ffd8b5;\n --color-prettylights-syntax-markup-ignored-text: #d1d9e0;\n --color-prettylights-syntax-markup-ignored-bg: #0550ae;\n --color-prettylights-syntax-meta-diff-range: #8250df;\n --color-prettylights-syntax-sublimelinter-gutter-mark: #818b98;\n }\n }\n \n .markdown-body {\n -ms-text-size-adjust: 100%;\n -webkit-text-size-adjust: 100%;\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"Noto Sans\", Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\";\n font-size: 16px;\n line-height: 1.5;\n word-wrap: break-word;\n }\n \n .markdown-body .octicon {\n display: inline-block;\n fill: currentColor;\n vertical-align: text-bottom;\n }\n \n .markdown-body h1:hover .anchor .octicon-link:before,\n .markdown-body h2:hover .anchor .octicon-link:before,\n .markdown-body h3:hover .anchor .octicon-link:before,\n .markdown-body h4:hover .anchor .octicon-link:before,\n .markdown-body h5:hover .anchor .octicon-link:before,\n .markdown-body h6:hover .anchor .octicon-link:before {\n width: 16px;\n height: 16px;\n content: ' ';\n display: inline-block;\n background-color: currentColor;\n -webkit-mask-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' version='1.1' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg>\");\n mask-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' version='1.1' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg>\");\n }\n \n .markdown-body details,\n .markdown-body figcaption,\n .markdown-body figure {\n display: block;\n }\n \n .markdown-body summary {\n display: list-item;\n }\n \n .markdown-body [hidden] {\n display: none !important;\n }\n \n .markdown-body a {\n background-color: transparent;\n color: var(--fgColor-accent);\n text-decoration: none;\n }\n \n .markdown-body abbr[title] {\n border-bottom: none;\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n }\n \n .markdown-body b,\n .markdown-body strong {\n font-weight: var(--base-text-weight-semibold, 600);\n }\n \n .markdown-body dfn {\n font-style: italic;\n }\n \n .markdown-body h1 {\n margin: .67em 0;\n font-weight: var(--base-text-weight-semibold, 600);\n padding-bottom: .3em;\n font-size: 1.5em;\n border-bottom: 1px solid var(--borderColor-muted);\n }\n \n .markdown-body mark {\n background-color: var(--bgColor-attention-muted);\n color: var(--fgColor-default);\n }\n \n .markdown-body small {\n font-size: 90%;\n }\n \n .markdown-body sub,\n .markdown-body sup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n }\n \n .markdown-body sub {\n bottom: -0.25em;\n }\n \n .markdown-body sup {\n top: -0.5em;\n }\n \n .markdown-body img {\n border-style: none;\n max-width: 100%;\n box-sizing: content-box;\n }\n \n .markdown-body code,\n .markdown-body kbd,\n .markdown-body pre,\n .markdown-body samp {\n font-family: monospace;\n font-size: 1em;\n }\n \n .markdown-body figure {\n margin: 1em var(--base-size-40);\n }\n \n .markdown-body hr {\n box-sizing: content-box;\n overflow: hidden;\n background: transparent;\n border-bottom: 1px solid var(--borderColor-muted);\n height: .25em;\n padding: 0;\n margin: var(--base-size-24) 0;\n background-color: var(--borderColor-default);\n border: 0;\n }\n \n .markdown-body input {\n font: inherit;\n margin: 0;\n overflow: visible;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n }\n \n .markdown-body [type=button],\n .markdown-body [type=reset],\n .markdown-body [type=submit] {\n -webkit-appearance: button;\n appearance: button;\n }\n \n .markdown-body [type=checkbox],\n .markdown-body [type=radio] {\n box-sizing: border-box;\n padding: 0;\n }\n \n .markdown-body [type=number]::-webkit-inner-spin-button,\n .markdown-body [type=number]::-webkit-outer-spin-button {\n height: auto;\n }\n \n .markdown-body [type=search]::-webkit-search-cancel-button,\n .markdown-body [type=search]::-webkit-search-decoration {\n -webkit-appearance: none;\n appearance: none;\n }\n \n .markdown-body ::-webkit-input-placeholder {\n color: inherit;\n opacity: .54;\n }\n \n .markdown-body ::-webkit-file-upload-button {\n -webkit-appearance: button;\n appearance: button;\n font: inherit;\n }\n \n .markdown-body a:hover {\n text-decoration: underline;\n }\n \n .markdown-body ::placeholder {\n color: var(--fgColor-muted);\n opacity: 1;\n }\n \n .markdown-body hr::before {\n display: table;\n content: \"\";\n }\n \n .markdown-body hr::after {\n display: table;\n clear: both;\n content: \"\";\n }\n \n .markdown-body table {\n border-spacing: 0;\n border-collapse: collapse;\n display: block;\n width: max-content;\n max-width: 100%;\n overflow: auto;\n font-variant: tabular-nums;\n }\n \n .markdown-body td,\n .markdown-body th {\n padding: 0;\n }\n \n .markdown-body details summary {\n cursor: pointer;\n }\n \n .markdown-body a:focus,\n .markdown-body [role=button]:focus,\n .markdown-body input[type=radio]:focus,\n .markdown-body input[type=checkbox]:focus {\n outline: 2px solid var(--focus-outlineColor);\n outline-offset: -2px;\n box-shadow: none;\n }\n \n .markdown-body a:focus:not(:focus-visible),\n .markdown-body [role=button]:focus:not(:focus-visible),\n .markdown-body input[type=radio]:focus:not(:focus-visible),\n .markdown-body input[type=checkbox]:focus:not(:focus-visible) {\n outline: solid 1px transparent;\n }\n \n .markdown-body a:focus-visible,\n .markdown-body [role=button]:focus-visible,\n .markdown-body input[type=radio]:focus-visible,\n .markdown-body input[type=checkbox]:focus-visible {\n outline: 2px solid var(--focus-outlineColor);\n outline-offset: -2px;\n box-shadow: none;\n }\n \n .markdown-body a:not([class]):focus,\n .markdown-body a:not([class]):focus-visible,\n .markdown-body input[type=radio]:focus,\n .markdown-body input[type=radio]:focus-visible,\n .markdown-body input[type=checkbox]:focus,\n .markdown-body input[type=checkbox]:focus-visible {\n outline-offset: 0;\n }\n \n .markdown-body kbd {\n display: inline-block;\n padding: var(--base-size-4);\n font: 11px var(--fontStack-monospace, ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace);\n line-height: 10px;\n color: var(--fgColor-default);\n vertical-align: middle;\n background-color: var(--bgColor-muted);\n border: solid 1px var(--borderColor-neutral-muted);\n border-bottom-color: var(--borderColor-neutral-muted);\n border-radius: 6px;\n box-shadow: inset 0 -1px 0 var(--borderColor-neutral-muted);\n }\n \n .markdown-body h1,\n .markdown-body h2,\n .markdown-body h3,\n .markdown-body h4,\n .markdown-body h5,\n .markdown-body h6 {\n margin-top: var(--base-size-24);\n margin-bottom: var(--base-size-16);\n font-weight: var(--base-text-weight-semibold, 600);\n line-height: 1.25;\n }\n \n .markdown-body h2 {\n font-weight: var(--base-text-weight-semibold, 600);\n padding-bottom: .3em;\n font-size: 1.2em;\n border-bottom: 1px solid var(--borderColor-muted);\n }\n \n .markdown-body h3 {\n font-weight: var(--base-text-weight-semibold, 600);\n font-size: 1.05em;\n }\n \n .markdown-body h4 {\n font-weight: var(--base-text-weight-semibold, 600);\n font-size: 0.875em;\n }\n \n .markdown-body h5 {\n font-weight: var(--base-text-weight-semibold, 600);\n font-size: .85em;\n }\n \n .markdown-body h6 {\n font-weight: var(--base-text-weight-semibold, 600);\n font-size: .80em;\n color: var(--fgColor-muted);\n }\n \n .markdown-body p {\n margin-top: 0;\n margin-bottom: 10px;\n }\n \n .markdown-body blockquote {\n margin: 0;\n padding: 0 1em;\n color: var(--fgColor-muted);\n border-left: .25em solid var(--borderColor-default);\n }\n \n .markdown-body ul,\n .markdown-body ol {\n margin-top: 0;\n margin-bottom: 0;\n padding-left: 2em;\n }\n \n .markdown-body ol ol,\n .markdown-body ul ol {\n list-style-type: lower-roman;\n }\n \n .markdown-body ul ul ol,\n .markdown-body ul ol ol,\n .markdown-body ol ul ol,\n .markdown-body ol ol ol {\n list-style-type: lower-alpha;\n }\n \n .markdown-body dd {\n margin-left: 0;\n }\n \n .markdown-body tt,\n .markdown-body code,\n .markdown-body samp {\n font-family: var(--fontStack-monospace, ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace);\n font-size: 12px;\n }\n \n .markdown-body pre {\n margin-top: 0;\n margin-bottom: 0;\n font-family: var(--fontStack-monospace, ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace);\n font-size: 12px;\n word-wrap: normal;\n }\n \n .markdown-body .octicon {\n display: inline-block;\n overflow: visible !important;\n vertical-align: text-bottom;\n fill: currentColor;\n }\n \n .markdown-body input::-webkit-outer-spin-button,\n .markdown-body input::-webkit-inner-spin-button {\n margin: 0;\n appearance: none;\n }\n \n .markdown-body .mr-2 {\n margin-right: var(--base-size-8, 8px) !important;\n }\n \n .markdown-body::before {\n display: table;\n content: \"\";\n }\n \n .markdown-body::after {\n display: table;\n clear: both;\n content: \"\";\n }\n \n .markdown-body>*:first-child {\n margin-top: 0 !important;\n }\n \n .markdown-body>*:last-child {\n margin-bottom: 0 !important;\n }\n \n .markdown-body a:not([href]) {\n color: inherit;\n text-decoration: none;\n }\n \n .markdown-body .absent {\n color: var(--fgColor-danger);\n }\n \n .markdown-body .anchor {\n float: left;\n padding-right: var(--base-size-4);\n margin-left: -20px;\n line-height: 1;\n }\n \n .markdown-body .anchor:focus {\n outline: none;\n }\n \n .markdown-body p,\n .markdown-body blockquote,\n .markdown-body ul,\n .markdown-body ol,\n .markdown-body dl,\n .markdown-body table,\n .markdown-body pre,\n .markdown-body details {\n margin-top: 0;\n margin-bottom: var(--base-size-16);\n font-size: 16px;\n font-weight: 400;\n }\n \n .markdown-body blockquote>:first-child {\n margin-top: 0;\n }\n \n .markdown-body blockquote>:last-child {\n margin-bottom: 0;\n }\n \n .markdown-body h1 .octicon-link,\n .markdown-body h2 .octicon-link,\n .markdown-body h3 .octicon-link,\n .markdown-body h4 .octicon-link,\n .markdown-body h5 .octicon-link,\n .markdown-body h6 .octicon-link {\n color: var(--fgColor-default);\n vertical-align: middle;\n visibility: hidden;\n }\n \n .markdown-body h1:hover .anchor,\n .markdown-body h2:hover .anchor,\n .markdown-body h3:hover .anchor,\n .markdown-body h4:hover .anchor,\n .markdown-body h5:hover .anchor,\n .markdown-body h6:hover .anchor {\n text-decoration: none;\n }\n \n .markdown-body h1:hover .anchor .octicon-link,\n .markdown-body h2:hover .anchor .octicon-link,\n .markdown-body h3:hover .anchor .octicon-link,\n .markdown-body h4:hover .anchor .octicon-link,\n .markdown-body h5:hover .anchor .octicon-link,\n .markdown-body h6:hover .anchor .octicon-link {\n visibility: visible;\n }\n \n .markdown-body h1 tt,\n .markdown-body h1 code,\n .markdown-body h2 tt,\n .markdown-body h2 code,\n .markdown-body h3 tt,\n .markdown-body h3 code,\n .markdown-body h4 tt,\n .markdown-body h4 code,\n .markdown-body h5 tt,\n .markdown-body h5 code,\n .markdown-body h6 tt,\n .markdown-body h6 code {\n padding: 0 .2em;\n font-size: inherit;\n }\n \n .markdown-body summary h1,\n .markdown-body summary h2,\n .markdown-body summary h3,\n .markdown-body summary h4,\n .markdown-body summary h5,\n .markdown-body summary h6 {\n display: inline-block;\n }\n \n .markdown-body summary h1 .anchor,\n .markdown-body summary h2 .anchor,\n .markdown-body summary h3 .anchor,\n .markdown-body summary h4 .anchor,\n .markdown-body summary h5 .anchor,\n .markdown-body summary h6 .anchor {\n margin-left: -40px;\n }\n \n .markdown-body summary h1,\n .markdown-body summary h2 {\n padding-bottom: 0;\n border-bottom: 0;\n }\n \n .markdown-body ul.no-list,\n .markdown-body ol.no-list {\n padding: 0;\n list-style-type: none;\n }\n \n .markdown-body ol[type=\"a s\"] {\n list-style-type: lower-alpha;\n }\n \n .markdown-body ol[type=\"A s\"] {\n list-style-type: upper-alpha;\n }\n \n .markdown-body ol[type=\"i s\"] {\n list-style-type: lower-roman;\n }\n \n .markdown-body ol[type=\"I s\"] {\n list-style-type: upper-roman;\n }\n \n .markdown-body ol[type=\"1\"] {\n list-style-type: decimal;\n }\n \n .markdown-body div>ol:not([type]) {\n list-style-type: decimal;\n }\n \n .markdown-body ul ul,\n .markdown-body ul ol,\n .markdown-body ol ol,\n .markdown-body ol ul {\n margin-top: 0;\n margin-bottom: 0;\n }\n \n .markdown-body li>p {\n margin-top: var(--base-size-16);\n }\n \n .markdown-body li+li {\n margin-top: .25em;\n }\n \n .markdown-body dl {\n padding: 0;\n }\n \n .markdown-body dl dt {\n padding: 0;\n margin-top: var(--base-size-16);\n font-size: 1em;\n font-style: italic;\n font-weight: var(--base-text-weight-semibold, 600);\n }\n \n .markdown-body dl dd {\n padding: 0 var(--base-size-16);\n margin-bottom: var(--base-size-16);\n }\n \n .markdown-body table th {\n font-weight: var(--base-text-weight-semibold, 600);\n }\n \n .markdown-body table th,\n .markdown-body table td {\n padding: 6px 13px;\n border: 1px solid var(--borderColor-default);\n }\n \n .markdown-body table td>:last-child {\n margin-bottom: 0;\n }\n \n .markdown-body table tr {\n background-color: var(--bgColor-default);\n border-top: 1px solid var(--borderColor-muted);\n }\n \n .markdown-body table tr:nth-child(2n) {\n background-color: var(--bgColor-muted);\n }\n \n .markdown-body table img {\n background-color: transparent;\n }\n \n .markdown-body img[align=right] {\n padding-left: 20px;\n }\n \n .markdown-body img[align=left] {\n padding-right: 20px;\n }\n \n .markdown-body .emoji {\n max-width: none;\n vertical-align: text-top;\n background-color: transparent;\n }\n \n .markdown-body span.frame {\n display: block;\n overflow: hidden;\n }\n \n .markdown-body span.frame>span {\n display: block;\n float: left;\n width: auto;\n padding: 7px;\n margin: 13px 0 0;\n overflow: hidden;\n border: 1px solid var(--borderColor-default);\n }\n \n .markdown-body span.frame span img {\n display: block;\n float: left;\n }\n \n .markdown-body span.frame span span {\n display: block;\n padding: 5px 0 0;\n clear: both;\n color: var(--fgColor-default);\n }\n \n .markdown-body span.align-center {\n display: block;\n overflow: hidden;\n clear: both;\n }\n \n .markdown-body span.align-center>span {\n display: block;\n margin: 13px auto 0;\n overflow: hidden;\n text-align: center;\n }\n \n .markdown-body span.align-center span img {\n margin: 0 auto;\n text-align: center;\n }\n \n .markdown-body span.align-right {\n display: block;\n overflow: hidden;\n clear: both;\n }\n \n .markdown-body span.align-right>span {\n display: block;\n margin: 13px 0 0;\n overflow: hidden;\n text-align: right;\n }\n \n .markdown-body span.align-right span img {\n margin: 0;\n text-align: right;\n }\n \n .markdown-body span.float-left {\n display: block;\n float: left;\n margin-right: 13px;\n overflow: hidden;\n }\n \n .markdown-body span.float-left span {\n margin: 13px 0 0;\n }\n \n .markdown-body span.float-right {\n display: block;\n float: right;\n margin-left: 13px;\n overflow: hidden;\n }\n \n .markdown-body span.float-right>span {\n display: block;\n margin: 13px auto 0;\n overflow: hidden;\n text-align: right;\n }\n \n .markdown-body code,\n .markdown-body tt {\n padding: .2em .4em;\n margin: 0;\n font-size: 85%;\n white-space: break-spaces;\n background-color: var(--bgColor-neutral-muted);\n border-radius: 6px;\n }\n \n .markdown-body code br,\n .markdown-body tt br {\n display: none;\n }\n \n .markdown-body del code {\n text-decoration: inherit;\n }\n \n .markdown-body samp {\n font-size: 85%;\n }\n \n .markdown-body pre code {\n font-size: 100%;\n }\n \n .markdown-body pre>code {\n padding: 0;\n margin: 0;\n word-break: normal;\n white-space: pre;\n background: transparent;\n border: 0;\n }\n \n .markdown-body .highlight {\n margin-bottom: var(--base-size-16);\n }\n \n .markdown-body .highlight pre {\n margin-bottom: 0;\n word-break: normal;\n }\n \n .markdown-body .highlight pre,\n .markdown-body pre {\n padding: var(--base-size-16);\n overflow: auto;\n font-size: 85%;\n line-height: 1.45;\n color: var(--fgColor-default);\n background-color: var(--bgColor-muted);\n border-radius: 6px;\n }\n \n .markdown-body pre code,\n .markdown-body pre tt {\n display: inline;\n max-width: auto;\n padding: 0;\n margin: 0;\n overflow: visible;\n line-height: inherit;\n word-wrap: normal;\n background-color: transparent;\n border: 0;\n }\n \n .markdown-body .csv-data td,\n .markdown-body .csv-data th {\n padding: 5px;\n overflow: hidden;\n font-size: 12px;\n line-height: 1;\n text-align: left;\n white-space: nowrap;\n }\n \n .markdown-body .csv-data .blob-num {\n padding: 10px var(--base-size-8) 9px;\n text-align: right;\n background: var(--bgColor-default);\n border: 0;\n }\n \n .markdown-body .csv-data tr {\n border-top: 0;\n }\n \n .markdown-body .csv-data th {\n font-weight: var(--base-text-weight-semibold, 600);\n background: var(--bgColor-muted);\n border-top: 0;\n }\n \n .markdown-body [data-footnote-ref]::before {\n content: \"[\";\n }\n \n .markdown-body [data-footnote-ref]::after {\n content: \"]\";\n }\n \n .markdown-body .footnotes {\n font-size: 12px;\n color: var(--fgColor-muted);\n border-top: 1px solid var(--borderColor-default);\n }\n \n .markdown-body .footnotes ol {\n padding-left: var(--base-size-16);\n }\n \n .markdown-body .footnotes ol ul {\n display: inline-block;\n padding-left: var(--base-size-16);\n margin-top: var(--base-size-16);\n }\n \n .markdown-body .footnotes li {\n position: relative;\n }\n \n .markdown-body .footnotes li:target::before {\n position: absolute;\n top: calc(var(--base-size-8)*-1);\n right: calc(var(--base-size-8)*-1);\n bottom: calc(var(--base-size-8)*-1);\n left: calc(var(--base-size-24)*-1);\n pointer-events: none;\n content: \"\";\n border: 2px solid var(--borderColor-accent-emphasis);\n border-radius: 6px;\n }\n \n .markdown-body .footnotes li:target {\n color: var(--fgColor-default);\n }\n \n .markdown-body .footnotes .data-footnote-backref g-emoji {\n font-family: monospace;\n }\n \n .markdown-body body:has(:modal) {\n padding-right: var(--dialog-scrollgutter) !important;\n }\n \n .markdown-body .pl-c {\n color: var(--color-prettylights-syntax-comment);\n }\n \n .markdown-body .pl-c1,\n .markdown-body .pl-s .pl-v {\n color: var(--color-prettylights-syntax-constant);\n }\n \n .markdown-body .pl-e,\n .markdown-body .pl-en {\n color: var(--color-prettylights-syntax-entity);\n }\n \n .markdown-body .pl-smi,\n .markdown-body .pl-s .pl-s1 {\n color: var(--color-prettylights-syntax-storage-modifier-import);\n }\n \n .markdown-body .pl-ent {\n color: var(--color-prettylights-syntax-entity-tag);\n }\n \n .markdown-body .pl-k {\n color: var(--color-prettylights-syntax-keyword);\n }\n \n .markdown-body .pl-s,\n .markdown-body .pl-pds,\n .markdown-body .pl-s .pl-pse .pl-s1,\n .markdown-body .pl-sr,\n .markdown-body .pl-sr .pl-cce,\n .markdown-body .pl-sr .pl-sre,\n .markdown-body .pl-sr .pl-sra {\n color: var(--color-prettylights-syntax-string);\n }\n \n .markdown-body .pl-v,\n .markdown-body .pl-smw {\n color: var(--color-prettylights-syntax-variable);\n }\n \n .markdown-body .pl-bu {\n color: var(--color-prettylights-syntax-brackethighlighter-unmatched);\n }\n \n .markdown-body .pl-ii {\n color: var(--color-prettylights-syntax-invalid-illegal-text);\n background-color: var(--color-prettylights-syntax-invalid-illegal-bg);\n }\n \n .markdown-body .pl-c2 {\n color: var(--color-prettylights-syntax-carriage-return-text);\n background-color: var(--color-prettylights-syntax-carriage-return-bg);\n }\n \n .markdown-body .pl-sr .pl-cce {\n font-weight: bold;\n color: var(--color-prettylights-syntax-string-regexp);\n }\n \n .markdown-body .pl-ml {\n color: var(--color-prettylights-syntax-markup-list);\n }\n \n .markdown-body .pl-mh,\n .markdown-body .pl-mh .pl-en,\n .markdown-body .pl-ms {\n font-weight: bold;\n color: var(--color-prettylights-syntax-markup-heading);\n }\n \n .markdown-body .pl-mi {\n font-style: italic;\n color: var(--color-prettylights-syntax-markup-italic);\n }\n \n .markdown-body .pl-mb {\n font-weight: bold;\n color: var(--color-prettylights-syntax-markup-bold);\n }\n \n .markdown-body .pl-md {\n color: var(--color-prettylights-syntax-markup-deleted-text);\n background-color: var(--color-prettylights-syntax-markup-deleted-bg);\n }\n \n .markdown-body .pl-mi1 {\n color: var(--color-prettylights-syntax-markup-inserted-text);\n background-color: var(--color-prettylights-syntax-markup-inserted-bg);\n }\n \n .markdown-body .pl-mc {\n color: var(--color-prettylights-syntax-markup-changed-text);\n background-color: var(--color-prettylights-syntax-markup-changed-bg);\n }\n \n .markdown-body .pl-mi2 {\n color: var(--color-prettylights-syntax-markup-ignored-text);\n background-color: var(--color-prettylights-syntax-markup-ignored-bg);\n }\n \n .markdown-body .pl-mdr {\n font-weight: bold;\n color: var(--color-prettylights-syntax-meta-diff-range);\n }\n \n .markdown-body .pl-ba {\n color: var(--color-prettylights-syntax-brackethighlighter-angle);\n }\n \n .markdown-body .pl-sg {\n color: var(--color-prettylights-syntax-sublimelinter-gutter-mark);\n }\n \n .markdown-body .pl-corl {\n text-decoration: underline;\n color: var(--color-prettylights-syntax-constant-other-reference-link);\n }\n \n .markdown-body [role=button]:focus:not(:focus-visible),\n .markdown-body [role=tabpanel][tabindex=\"0\"]:focus:not(:focus-visible),\n .markdown-body button:focus:not(:focus-visible),\n .markdown-body summary:focus:not(:focus-visible),\n .markdown-body a:focus:not(:focus-visible) {\n outline: none;\n box-shadow: none;\n }\n \n .markdown-body [tabindex=\"0\"]:focus:not(:focus-visible),\n .markdown-body details-dialog:focus:not(:focus-visible) {\n outline: none;\n }\n \n .markdown-body g-emoji {\n display: inline-block;\n min-width: 1ch;\n font-family: \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n font-size: 1em;\n font-style: normal !important;\n font-weight: var(--base-text-weight-normal, 400);\n line-height: 1;\n vertical-align: -0.075em;\n }\n \n .markdown-body g-emoji img {\n width: 1em;\n height: 1em;\n }\n \n .markdown-body .task-list-item {\n list-style-type: none;\n }\n \n .markdown-body .task-list-item label {\n font-weight: var(--base-text-weight-normal, 400);\n }\n \n .markdown-body .task-list-item.enabled label {\n cursor: pointer;\n }\n \n .markdown-body .task-list-item+.task-list-item {\n margin-top: var(--base-size-4);\n }\n \n .markdown-body .task-list-item .handle {\n display: none;\n }\n \n .markdown-body .task-list-item-checkbox {\n margin: 0 .2em .25em -1.4em;\n vertical-align: middle;\n }\n \n .markdown-body ul:dir(rtl) .task-list-item-checkbox {\n margin: 0 -1.6em .25em .2em;\n }\n \n .markdown-body ol:dir(rtl) .task-list-item-checkbox {\n margin: 0 -1.6em .25em .2em;\n }\n \n .markdown-body .contains-task-list:hover .task-list-item-convert-container,\n .markdown-body .contains-task-list:focus-within .task-list-item-convert-container {\n display: block;\n width: auto;\n height: 24px;\n overflow: visible;\n clip: auto;\n }\n \n .markdown-body ::-webkit-calendar-picker-indicator {\n filter: invert(50%);\n }\n \n .markdown-body .markdown-alert {\n padding: var(--base-size-8) var(--base-size-16);\n margin-bottom: var(--base-size-16);\n color: inherit;\n border-left: .25em solid var(--borderColor-default);\n }\n \n .markdown-body .markdown-alert>:first-child {\n margin-top: 0;\n }\n \n .markdown-body .markdown-alert>:last-child {\n margin-bottom: 0;\n }\n \n .markdown-body .markdown-alert .markdown-alert-title {\n display: flex;\n font-weight: var(--base-text-weight-medium, 500);\n align-items: center;\n line-height: 1;\n }\n \n .markdown-body .markdown-alert.markdown-alert-note {\n border-left-color: var(--borderColor-accent-emphasis);\n }\n \n .markdown-body .markdown-alert.markdown-alert-note .markdown-alert-title {\n color: var(--fgColor-accent);\n }\n \n .markdown-body .markdown-alert.markdown-alert-important {\n border-left-color: var(--borderColor-done-emphasis);\n }\n \n .markdown-body .markdown-alert.markdown-alert-important .markdown-alert-title {\n color: var(--fgColor-done);\n }\n \n .markdown-body .markdown-alert.markdown-alert-warning {\n border-left-color: var(--borderColor-attention-emphasis);\n }\n \n .markdown-body .markdown-alert.markdown-alert-warning .markdown-alert-title {\n color: var(--fgColor-attention);\n }\n \n .markdown-body .markdown-alert.markdown-alert-tip {\n border-left-color: var(--borderColor-success-emphasis);\n }\n \n .markdown-body .markdown-alert.markdown-alert-tip .markdown-alert-title {\n color: var(--fgColor-success);\n }\n \n .markdown-body .markdown-alert.markdown-alert-caution {\n border-left-color: var(--borderColor-danger-emphasis);\n }\n \n .markdown-body .markdown-alert.markdown-alert-caution .markdown-alert-title {\n color: var(--fgColor-danger);\n }\n \n .markdown-body>*:first-child>.heading-element:first-child {\n margin-top: 0 !important;\n }\n \n .markdown-body .highlight pre:has(+.zeroclipboard-container) {\n min-height: 52px;\n }"],"version":3}
@@ -0,0 +1,208 @@
1
+ import { p as proxyCustomElement, H, d as createEvent, h } from './p-BdiUKin5.js';
2
+ import { F as FileUploadState, u as uploadFileToBackend, d as formatFileSize } from './p-B0WOTw9J.js';
3
+ import { M as Message } from './p-Dv8qvK0w.js';
4
+ import { S as SentryReporter } from './p-BW3r6Lrf.js';
5
+ import { d as defineCustomElement$2 } from './p-D0ZMoyH8.js';
6
+ import { d as defineCustomElement$1 } from './p-njngFX_n.js';
7
+
8
+ const pcmUploadCss = "";
9
+
10
+ const globalCss = ":host{font-size:16px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0, 0, 0, 0.5);display:flex;justify-content:center;align-items:center;z-index:1000;overflow-y:auto;padding:20px}.fullscreen-overlay{padding:0;background-color:rgba(0, 0, 0, 0.7);position:absolute;width:100%;height:calc(100% - 10px)}.modal-container{background-color:#fff;border-radius:8px;width:100%;display:flex;flex-direction:column;position:relative;margin:auto;transition:all 0.3s ease-out;overflow:hidden}.modal-container.fullscreen{width:100%;max-width:none;height:100%;border-radius:0;margin:0;display:flex;flex-direction:column;max-height:100%}.pc-layout{width:80%;max-width:600px;min-width:320px}@media screen and (max-width: 768px){.pc-layout{width:95%}.modal-overlay{padding:10px 0px 0px 0px}.modal-container.fullscreen{width:100%;height:100%;max-height:100%;border-radius:16px 16px 0 0;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:4px 16px;height:50px;border-bottom:1px solid #e8e8e8;flex-shrink:0}.header-left{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600;color:#333}.header-icon{width:24px;height:24px}.close-button{background:transparent;border:none;cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:4px}.close-button:hover{background-color:rgba(0, 0, 0, 0.04)}.close-button span{font-size:24px;line-height:1;color:#999}.close-button:hover span{color:#666}.upload-area{cursor:pointer;width:100%}.upload-placeholder{transition:all 0.3s ease;display:flex;flex-direction:column;align-items:center;background:rgba(0, 0, 0, 0.02);border:1px dashed #d9d9d9;border-radius:8px}.upload-placeholder:hover{border:1px dashed #1890ff}.upload-placeholder img{margin-top:8px;width:50px;height:50px}.upload-placeholder .upload-text{margin:4px 0;color:#332F39;font-size:14px}.upload-placeholder .upload-hint{font-size:14px;color:#949AA5;margin-top:8px;padding:0px 10px;text-align:center}.file-item{position:relative;padding:16px;border:1px solid #e2e8f0;border-radius:8px;transition:border-color 0.3s;cursor:pointer;margin-bottom:16px;display:flex;justify-content:space-between;align-items:center}.file-item:hover{border-color:#0D75FB}.file-item-content{display:flex;align-items:center;gap:8px;flex:1;min-width:0;overflow:hidden}.file-icon{color:#0D75FB;flex-shrink:0}.file-name{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:calc(100% - 50px)}.remove-file{background:transparent;border:none;color:#94a3b8;cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center;padding:4px;margin-left:8px;border-radius:4px;transition:all 0.2s;min-width:30px;min-height:30px}.remove-file:hover{background-color:#f1f5f9;color:#475569}.file-input{display:none}.input-container{padding:20px;display:flex;flex-direction:column;height:calc(100% - 50px);background:linear-gradient(150deg, #2a6ee933, #0000 50%) 0 0 / 400px 200px no-repeat, #fff;overflow-y:auto}.input-container h3{margin-top:0;margin-bottom:20px;font-size:18px;color:#333;text-align:center}.jd-input-section{margin-bottom:20px}.jd-input-section label{display:block;margin-bottom:8px;font-weight:500;color:#333}.job-description-textarea{width:calc(100% - 16px);border:1px solid #ddd;border-radius:4px;resize:vertical;font-family:inherit;font-size:14px;line-height:1.5;transition:border-color 0.3s;padding:8px}.job-description-textarea:focus{outline:none;border-color:#1890ff;box-shadow:0 0 0 2px rgba(24, 144, 255, 0.2)}.resume-upload-section{margin-bottom:20px;width:100%;display:flex;flex-direction:column;align-items:center}.resume-upload-section label{display:block;margin-bottom:8px;font-weight:500;color:#333;align-self:flex-start}.submit-button{margin-top:10px;padding:10px 30px;background:#0D75FB;color:white;border:none;border-radius:4px;font-size:16px;cursor:pointer;transition:all 0.3s ease;width:100%;max-width:400px;align-self:center}.submit-button:hover{background-color:#40a9ff}.submit-button:disabled{background-color:rgba(0,0,0,0.04);color:rgba(0,0,0,0.25);cursor:not-allowed}.ai-disclaimer{margin-top:16px;text-align:center;font-size:12px;color:#999;line-height:1.5}.ai-disclaimer p{margin:4px 0}.beian-info{display:flex;justify-content:center;flex-wrap:wrap;gap:4px}.ai-disclaimer a{color:#666;text-decoration:none;transition:color 0.2s ease}.ai-disclaimer a:hover{color:#1890ff;text-decoration:underline}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:24px}.loading-spinner{width:40px;height:40px;border:4px solid rgba(0, 0, 0, 0.1);border-radius:50%;border-top-color:var(--pcm-primary-color, #1890ff);animation:spin 1s linear infinite;margin-bottom:16px}.loading-text{font-size:16px;color:var(--pcm-text-color, #333)}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}";
11
+
12
+ const PcmUpload = /*@__PURE__*/ proxyCustomElement(class PcmUpload extends H {
13
+ constructor() {
14
+ super();
15
+ this.__registerHost();
16
+ this.__attachShadow();
17
+ this.uploadFailed = createEvent(this, "uploadFailed");
18
+ this.uploadChange = createEvent(this, "uploadChange");
19
+ }
20
+ /**
21
+ * 是否支持多文件上传
22
+ */
23
+ multiple = false;
24
+ /**
25
+ * 是否开启移动端上传(仅PC端生效)
26
+ */
27
+ mobileUploadAble = false;
28
+ /**
29
+ * label内容
30
+ */
31
+ labelText = '上传文件';
32
+ /**
33
+ * 支持的文件后缀列表(需要带上小数点.)
34
+ */
35
+ acceptFileSuffixList = [];
36
+ /**
37
+ * 最大文件数
38
+ */
39
+ maxFileCount = Infinity;
40
+ /**
41
+ * 最大文件大小
42
+ */
43
+ maxFileSize = Infinity;
44
+ /**
45
+ * 上传请求头
46
+ */
47
+ uploadHeaders;
48
+ /**
49
+ * 上传请求参数
50
+ */
51
+ uploadParams;
52
+ /**
53
+ * 上传失败监听
54
+ */
55
+ uploadFailed;
56
+ /**
57
+ * 上传文件变化监听
58
+ */
59
+ uploadChange;
60
+ get hostElement() { return this; }
61
+ selectedFiles = null;
62
+ async getIsUploading() {
63
+ return !!this.selectedFiles?.some(item => item.state === FileUploadState.Uploading);
64
+ }
65
+ handleUploadClick = () => {
66
+ const fileInput = this.hostElement.shadowRoot?.querySelector('.file-input');
67
+ fileInput?.click();
68
+ };
69
+ clearSelectedFile = () => {
70
+ const fileInput = this.hostElement.shadowRoot?.querySelector('.file-input');
71
+ if (fileInput) {
72
+ fileInput.value = '';
73
+ }
74
+ };
75
+ async uploadFile(file) {
76
+ try {
77
+ const result = await uploadFileToBackend(file, this.uploadHeaders || {}, this.uploadParams || {});
78
+ return {
79
+ ...result,
80
+ file,
81
+ file_name: file.name,
82
+ file_size: file.size,
83
+ state: FileUploadState.Success,
84
+ };
85
+ }
86
+ catch (error) {
87
+ this.clearSelectedFile();
88
+ SentryReporter.captureError(error, {
89
+ action: 'uploadFile',
90
+ component: 'pcm-mnms-modal',
91
+ title: '文件上传失败'
92
+ });
93
+ this.uploadFailed.emit({
94
+ error: error,
95
+ message: '文件上传失败,请重试'
96
+ });
97
+ return {
98
+ file,
99
+ error,
100
+ state: FileUploadState.Failed,
101
+ };
102
+ }
103
+ }
104
+ handleFileChange = async (event) => {
105
+ const input = event.target;
106
+ if (this.multiple) ;
107
+ else {
108
+ // 单选
109
+ const file = input.files?.[0];
110
+ if (!file)
111
+ return;
112
+ // 检测文件是否符合后缀名
113
+ if (this.acceptFileSuffixList?.length) {
114
+ const suffix = '.' + file.name.split('.').pop()?.toLowerCase();
115
+ if (!this.acceptFileSuffixList.includes(suffix)) {
116
+ Message.info(`请上传 ${this.acceptFileSuffixList.join('、')} 格式的文件`);
117
+ return;
118
+ }
119
+ }
120
+ // 检测文件大小是否超出限制
121
+ if (this.maxFileSize < file.size) {
122
+ Message.info(`文件大小不能超过 ${formatFileSize(this.maxFileSize) ?? '-'}`);
123
+ return;
124
+ }
125
+ this.selectedFiles = [{
126
+ file,
127
+ file_name: file.name,
128
+ file_size: file.size,
129
+ state: FileUploadState.Uploading,
130
+ cos_key: '',
131
+ error: undefined,
132
+ }];
133
+ const uploadResult = await this.uploadFile(file);
134
+ this.selectedFiles = [uploadResult];
135
+ this.clearSelectedFile();
136
+ this.emitUploadChange();
137
+ }
138
+ };
139
+ emitUploadChange = () => {
140
+ this.uploadChange.emit(this.selectedFiles?.map?.(item => ({
141
+ cos_key: item.cos_key,
142
+ file_name: item.file_name,
143
+ file_size: item.file_size,
144
+ ext: item.ext,
145
+ })));
146
+ };
147
+ uploadBtn() {
148
+ return h("div", null, !!this.mobileUploadAble && h("pcm-mobile-upload-btn", { multiple: this.multiple, acceptFileSuffixList: this.acceptFileSuffixList, maxFileCount: this.maxFileCount, maxFileSize: this.maxFileSize, uploadHeaders: this.uploadHeaders, uploadParams: this.uploadParams, onOk: e => {
149
+ this.selectedFiles = [
150
+ ...(this.selectedFiles ?? []),
151
+ ...(e.detail ?? []).map(item => ({
152
+ ...item,
153
+ state: FileUploadState.Success,
154
+ }))
155
+ ];
156
+ this.emitUploadChange();
157
+ } }), h("div", { class: "upload-placeholder", onClick: this.handleUploadClick }, h("img", { src: 'https://pub.pincaimao.com/static/web/images/home/i_upload.png' }), h("p", { class: 'upload-text' }, "\u70B9\u51FB\u4E0A\u4F20\u7B80\u5386"), h("p", { class: "upload-hint" }, !!this.acceptFileSuffixList?.length && h("p", null, "\u652F\u6301 ", this.acceptFileSuffixList.join('、'), " \u683C\u5F0F\u3002"), !!this.maxFileSize && this.maxFileSize !== Infinity && h("p", null, "\u6587\u4EF6\u5927\u5C0F\u4E0D\u80FD\u8D85\u8FC7 ", formatFileSize(this.maxFileSize) ?? '', "\u3002"), !!this.maxFileCount && this.maxFileCount !== Infinity && h("p", null, "\u6700\u591A\u4E0A\u4F20 ", this.maxFileCount, " \u4E2A\u6587\u4EF6\u3002"))));
158
+ }
159
+ render() {
160
+ return (h("div", { key: 'faec753d60f8c6bfb1e3996b67552f8a12155c07' }, h("div", { key: '55e1e83f962dc17c033885869d8cb7e73b65bb95', class: "resume-upload-section" }, h("label", { key: '80cb959d043a015267bfb55c20bae44afd509ebd' }, this.labelText), h("div", { key: 'e7aa8c65761f945287de858ea7b3ad036fb4cb6d', class: "upload-area" }, h("div", { key: '48bef805f845bdd6e6a542bccbc1d2b8d30b4a02' }, this.selectedFiles?.map?.((item, index) => {
161
+ return h("div", { class: "file-item" }, h("div", { class: "file-item-content" }, h("span", { class: "file-icon" }, "\uD83D\uDCDD"), h("span", { class: "file-name", style: item.state === FileUploadState.Failed ? { color: 'red', textDecoration: 'line-through' } : undefined }, item?.file_name), item.state === FileUploadState.Failed && h("span", { style: { color: 'red', marginLeft: '4px' } }, "(", item.error?.message ?? '上传失败', ")")), h("button", { class: "remove-file", onClick: (e) => {
162
+ e.stopPropagation();
163
+ this.selectedFiles = this.selectedFiles?.filter((_, itemIndex) => index !== itemIndex);
164
+ } }, "\u00D7"));
165
+ })), this.multiple ? h("div", null, (this.selectedFiles?.length ?? 0) < this.maxFileCount && this.uploadBtn()) : h("div", null, !this.selectedFiles?.length && this.uploadBtn()))), h("input", { key: '480b2f35655d4cdb5a99c058e4b894baf0e4c6a8', type: "file", class: "file-input", onChange: this.handleFileChange })));
166
+ }
167
+ static get style() { return pcmUploadCss + globalCss; }
168
+ }, [1, "pcm-upload", {
169
+ "multiple": [4],
170
+ "mobileUploadAble": [4, "mobile-upload-able"],
171
+ "labelText": [1, "label-text"],
172
+ "acceptFileSuffixList": [16, "accept-file-suffix-list"],
173
+ "maxFileCount": [2, "max-file-count"],
174
+ "maxFileSize": [2, "max-file-size"],
175
+ "uploadHeaders": [16, "upload-headers"],
176
+ "uploadParams": [16, "upload-params"],
177
+ "selectedFiles": [32],
178
+ "getIsUploading": [64]
179
+ }]);
180
+ function defineCustomElement() {
181
+ if (typeof customElements === "undefined") {
182
+ return;
183
+ }
184
+ const components = ["pcm-upload", "pcm-mobile-upload-btn", "pcm-time-count-down"];
185
+ components.forEach(tagName => { switch (tagName) {
186
+ case "pcm-upload":
187
+ if (!customElements.get(tagName)) {
188
+ customElements.define(tagName, PcmUpload);
189
+ }
190
+ break;
191
+ case "pcm-mobile-upload-btn":
192
+ if (!customElements.get(tagName)) {
193
+ defineCustomElement$2();
194
+ }
195
+ break;
196
+ case "pcm-time-count-down":
197
+ if (!customElements.get(tagName)) {
198
+ defineCustomElement$1();
199
+ }
200
+ break;
201
+ } });
202
+ }
203
+ defineCustomElement();
204
+
205
+ export { PcmUpload as P, defineCustomElement as d };
206
+ //# sourceMappingURL=p-C2OsjtRx.js.map
207
+
208
+ //# sourceMappingURL=p-C2OsjtRx.js.map
@@ -0,0 +1 @@
1
+ {"file":"p-C2OsjtRx.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/pcm-upload/pcm-upload.css?tag=pcm-upload&encapsulation=shadow","src/global/global.css?tag=pcm-upload&encapsulation=shadow","src/components/pcm-upload/pcm-upload.tsx"],"sourcesContent":["",":host {\n font-size: 16px;\n}\n\n/* 模态框基础样式 */\n.modal-overlay {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background-color: rgba(0, 0, 0, 0.5);\n display: flex;\n justify-content: center;\n align-items: center;\n z-index: 1000;\n overflow-y: auto;\n padding: 20px;\n}\n\n/* 全屏模式下的overlay样式 - 改为基于父组件 */\n.fullscreen-overlay {\n padding: 0;\n background-color: rgba(0, 0, 0, 0.7);\n /* 改为基于父组件的全屏 */\n position: absolute;\n width: 100%;\n height: calc(100% - 10px);\n}\n\n.modal-container {\n background-color: #fff;\n border-radius: 8px;\n width: 100%;\n display: flex;\n flex-direction: column;\n position: relative;\n margin: auto;\n transition: all 0.3s ease-out;\n overflow: hidden;\n}\n\n/* 全屏模式样式 - 改为基于父组件 */\n.modal-container.fullscreen {\n width: 100%;\n max-width: none;\n height: 100%;\n border-radius: 0;\n margin: 0;\n display: flex;\n flex-direction: column;\n max-height: 100%;\n}\n\n/* PC端布局 */\n.pc-layout {\n width: 80%;\n max-width: 600px;\n min-width: 320px;\n}\n\n/* 响应式布局 */\n@media screen and (max-width: 768px) {\n .pc-layout {\n width: 95%;\n }\n\n .modal-overlay {\n padding: 10px 0px 0px 0px;\n }\n\n .modal-container.fullscreen {\n /* 移动端也基于父组件尺寸 */\n width: 100%;\n height: 100%;\n max-height: 100%;\n border-radius: 16px 16px 0 0;\n /* 保留安全区域支持 */\n padding: env(safe-area-inset-top) 0 env(safe-area-inset-bottom);\n }\n}\n\n/* 模态框头部样式 */\n.modal-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 4px 16px;\n height: 50px;\n border-bottom: 1px solid #e8e8e8;\n flex-shrink: 0;\n}\n\n.header-left {\n display: flex;\n align-items: center;\n gap: 8px;\n font-size: 16px;\n font-weight: 600;\n color: #333;\n}\n\n.header-icon {\n width: 24px;\n height: 24px;\n}\n\n.close-button {\n background: transparent;\n border: none;\n cursor: pointer;\n padding: 8px;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n height: 32px;\n border-radius: 4px;\n}\n\n.close-button:hover {\n background-color: rgba(0, 0, 0, 0.04);\n}\n\n.close-button span {\n font-size: 24px;\n line-height: 1;\n color: #999;\n}\n\n.close-button:hover span {\n color: #666;\n}\n\n\n/* 文件上传区域通用样式 */\n.upload-area {\n cursor: pointer;\n width: 100%;\n}\n\n\n.upload-placeholder {\n transition: all 0.3s ease;\n display: flex;\n flex-direction: column;\n align-items: center;\n background: rgba(0, 0, 0, 0.02);\n border: 1px dashed #d9d9d9;\n border-radius: 8px;\n}\n\n.upload-placeholder:hover {\n border: 1px dashed #1890ff;\n}\n\n.upload-placeholder img {\n margin-top: 8px;\n width: 50px;\n height: 50px;\n}\n\n.upload-placeholder .upload-text {\n margin: 4px 0;\n color: #332F39;\n font-size: 14px;\n}\n\n.upload-placeholder .upload-hint {\n font-size: 14px;\n color: #949AA5;\n margin-top: 8px;\n padding: 0px 10px;\n text-align: center;\n}\n\n\n/* 文件项样式 */\n.file-item {\n position: relative;\n padding: 16px;\n border: 1px solid #e2e8f0;\n border-radius: 8px;\n transition: border-color 0.3s;\n cursor: pointer;\n margin-bottom: 16px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n\n.file-item:hover {\n border-color: #0D75FB;\n}\n\n.file-item-content {\n display: flex;\n align-items: center;\n gap: 8px;\n flex: 1;\n min-width: 0;\n overflow: hidden;\n}\n\n.file-icon {\n color: #0D75FB;\n flex-shrink: 0;\n}\n\n.file-name {\n font-weight: 500;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n max-width: calc(100% - 50px);\n}\n\n.remove-file {\n background: transparent;\n border: none;\n color: #94a3b8;\n cursor: pointer;\n font-size: 18px;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 4px;\n margin-left: 8px;\n border-radius: 4px;\n transition: all 0.2s;\n min-width: 30px;\n min-height: 30px;\n}\n\n.remove-file:hover {\n background-color: #f1f5f9;\n color: #475569;\n}\n\n.file-input {\n display: none;\n}\n\n\n\n/* 输入容器样式 */\n.input-container {\n padding: 20px;\n display: flex;\n flex-direction: column;\n height: calc(100% - 50px);\n background: linear-gradient(150deg, #2a6ee933, #0000 50%) 0 0 / 400px 200px no-repeat, #fff;\n /* 减去header高度 */\n overflow-y: auto;\n}\n\n.input-container h3 {\n margin-top: 0;\n margin-bottom: 20px;\n font-size: 18px;\n color: #333;\n text-align: center;\n}\n\n/* JD输入区域样式 */\n.jd-input-section {\n margin-bottom: 20px;\n}\n\n.jd-input-section label {\n display: block;\n margin-bottom: 8px;\n font-weight: 500;\n color: #333;\n}\n\n.job-description-textarea {\n width: calc(100% - 16px);\n border: 1px solid #ddd;\n border-radius: 4px;\n resize: vertical;\n font-family: inherit;\n font-size: 14px;\n line-height: 1.5;\n transition: border-color 0.3s;\n padding: 8px;\n}\n\n.job-description-textarea:focus {\n outline: none;\n border-color: #1890ff;\n box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2);\n}\n\n/* 简历上传区域样式 */\n.resume-upload-section {\n margin-bottom: 20px;\n width: 100%;\n display: flex;\n flex-direction: column;\n align-items: center;\n}\n\n.resume-upload-section label {\n display: block;\n margin-bottom: 8px;\n font-weight: 500;\n color: #333;\n align-self: flex-start;\n}\n\n\n/* 提交按钮通用样式 */\n.submit-button {\n margin-top: 10px;\n padding: 10px 30px;\n background: #0D75FB;\n color: white;\n border: none;\n border-radius: 4px;\n font-size: 16px;\n cursor: pointer;\n transition: all 0.3s ease;\n width: 100%;\n max-width: 400px;\n align-self: center;\n}\n\n.submit-button:hover {\n background-color: #40a9ff;\n}\n\n.submit-button:disabled {\n background-color: rgba(0,0,0,0.04);\n color: rgba(0,0,0,0.25);\n cursor: not-allowed;\n}\n\n\n\n/* AI免责声明和备案信息样式 */\n.ai-disclaimer {\n margin-top: 16px;\n text-align: center;\n font-size: 12px;\n color: #999;\n line-height: 1.5;\n}\n\n.ai-disclaimer p {\n margin: 4px 0;\n}\n\n.beian-info {\n display: flex;\n justify-content: center;\n flex-wrap: wrap;\n gap: 4px;\n}\n\n.ai-disclaimer a {\n color: #666;\n text-decoration: none;\n transition: color 0.2s ease;\n}\n\n.ai-disclaimer a:hover {\n color: #1890ff;\n text-decoration: underline;\n}\n\n/* 添加加载状态的样式 */\n.loading-container {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n height: 100%;\n padding: 24px;\n }\n \n .loading-spinner {\n width: 40px;\n height: 40px;\n border: 4px solid rgba(0, 0, 0, 0.1);\n border-radius: 50%;\n border-top-color: var(--pcm-primary-color, #1890ff);\n animation: spin 1s linear infinite;\n margin-bottom: 16px;\n }\n \n .loading-text {\n font-size: 16px;\n color: var(--pcm-text-color, #333);\n }\n \n @keyframes spin {\n 0% { transform: rotate(0deg); }\n 100% { transform: rotate(360deg); }\n }\n \n ","import { Component, h, State, Element, Prop, Event, EventEmitter, Method } from \"@stencil/core\";\nimport { FileUploadResponse, FileUploadResponseWithState, FileUploadState, formatFileSize, uploadFileToBackend } from \"../../utils/utils\";\nimport { Message } from \"../../services/message.service\";\nimport { SentryReporter } from \"../../utils/sentry-reporter\";\n\n\n@Component({\n tag: 'pcm-upload',\n styleUrls: ['pcm-upload.css', '../../global/global.css'],\n shadow: true,\n})\nexport class PcmUpload {\n /**\n * 是否支持多文件上传\n */\n @Prop() multiple: boolean = false;\n /**\n * 是否开启移动端上传(仅PC端生效)\n */\n @Prop() mobileUploadAble: boolean = false;\n /**\n * label内容\n */\n @Prop() labelText: string = '上传文件'\n /**\n * 支持的文件后缀列表(需要带上小数点.)\n */\n @Prop() acceptFileSuffixList: string[] = [];\n /**\n * 最大文件数\n */\n @Prop() maxFileCount: number = Infinity;\n /**\n * 最大文件大小\n */\n @Prop() maxFileSize: number = Infinity;\n /**\n * 上传请求头\n */\n @Prop() uploadHeaders?: Record<string, any>;\n /**\n * 上传请求参数\n */\n @Prop() uploadParams?: Record<string, any>;\n /**\n * 上传失败监听\n */\n @Event() uploadFailed: EventEmitter<UploadFailedEvent>;\n /**\n * 上传文件变化监听\n */\n @Event() uploadChange: EventEmitter<FileUploadResponse[]>;\n\n\n @Element() hostElement: HTMLElement;\n @State() selectedFiles: FileUploadResponseWithState[] | null = null;\n\n @Method()\n async getIsUploading() {\n return !!this.selectedFiles?.some(item => item.state === FileUploadState.Uploading);\n }\n\n private handleUploadClick = () => {\n const fileInput = this.hostElement.shadowRoot?.querySelector('.file-input') as HTMLInputElement;\n fileInput?.click();\n };\n\n private clearSelectedFile = () => {\n const fileInput = this.hostElement.shadowRoot?.querySelector('.file-input') as HTMLInputElement;\n if (fileInput) {\n fileInput.value = '';\n }\n };\n\n private async uploadFile(file: File): Promise<FileUploadResponseWithState> {\n try {\n const result = await uploadFileToBackend(file, this.uploadHeaders || {}, this.uploadParams || {});\n return {\n ...result,\n file,\n file_name: file.name,\n file_size: file.size,\n state: FileUploadState.Success,\n }\n } catch (error) {\n this.clearSelectedFile();\n SentryReporter.captureError(error, {\n action: 'uploadFile',\n component: 'pcm-mnms-modal',\n title: '文件上传失败'\n });\n this.uploadFailed.emit({\n error: error,\n message: '文件上传失败,请重试'\n });\n return {\n file,\n error,\n state: FileUploadState.Failed,\n }\n }\n }\n\n private handleFileChange = async (event: Event) => {\n const input = event.target as HTMLInputElement;\n\n if (this.multiple) {\n // 多选\n } else {\n // 单选\n const file = input.files?.[0];\n if (!file) return;\n // 检测文件是否符合后缀名\n if (this.acceptFileSuffixList?.length) {\n const suffix = '.' + file.name.split('.').pop()?.toLowerCase();\n if (!this.acceptFileSuffixList.includes(suffix)) {\n Message.info(`请上传 ${this.acceptFileSuffixList.join('、')} 格式的文件`);\n return;\n }\n }\n // 检测文件大小是否超出限制\n if (this.maxFileSize < file.size) {\n Message.info(`文件大小不能超过 ${formatFileSize(this.maxFileSize) ?? '-'}`);\n return;\n }\n this.selectedFiles = [{\n file,\n file_name: file.name,\n file_size: file.size,\n state: FileUploadState.Uploading,\n cos_key: '',\n error: undefined,\n }];\n const uploadResult = await this.uploadFile(file);\n this.selectedFiles = [uploadResult];\n this.clearSelectedFile();\n this.emitUploadChange();\n }\n };\n\n private emitUploadChange = () => {\n this.uploadChange.emit(this.selectedFiles?.map?.(item => ({\n cos_key: item.cos_key,\n file_name: item.file_name,\n file_size: item.file_size,\n ext: item.ext,\n })));\n }\n\n private uploadBtn() {\n return <div>\n {\n !!this.mobileUploadAble && <pcm-mobile-upload-btn\n multiple={this.multiple}\n acceptFileSuffixList={this.acceptFileSuffixList}\n maxFileCount={this.maxFileCount}\n maxFileSize={this.maxFileSize}\n uploadHeaders={this.uploadHeaders}\n uploadParams={this.uploadParams}\n onOk={e => {\n this.selectedFiles = [\n ...(this.selectedFiles ?? []),\n ...(e.detail ?? []).map(item => ({\n ...item,\n state: FileUploadState.Success,\n }))\n ]\n this.emitUploadChange();\n }}\n />\n }\n <div class=\"upload-placeholder\" onClick={this.handleUploadClick}>\n <img src='https://pub.pincaimao.com/static/web/images/home/i_upload.png'></img>\n <p class='upload-text'>点击上传简历</p>\n <p class=\"upload-hint\">\n {\n !!this.acceptFileSuffixList?.length && <p>支持 {this.acceptFileSuffixList.join('、')} 格式。</p>\n }\n {\n !!this.maxFileSize && this.maxFileSize !== Infinity && <p>文件大小不能超过 {formatFileSize(this.maxFileSize) ?? ''}。</p>\n }\n {\n !!this.maxFileCount && this.maxFileCount !== Infinity && <p>最多上传 {this.maxFileCount} 个文件。</p>\n }\n </p>\n </div>\n </div>\n }\n\n render() {\n return (\n <div>\n <div class=\"resume-upload-section\">\n <label >{this.labelText}</label>\n <div class=\"upload-area\">\n <div>\n {\n this.selectedFiles?.map?.((item, index) => {\n return <div class=\"file-item\">\n <div class=\"file-item-content\">\n <span class=\"file-icon\">📝</span>\n <span class=\"file-name\" style={item.state === FileUploadState.Failed ? { color: 'red', textDecoration: 'line-through' } : undefined}>{item?.file_name}</span>\n {\n item.state === FileUploadState.Failed && <span style={{ color: 'red', marginLeft: '4px' }}>({item.error?.message ?? '上传失败'})</span>\n }\n </div>\n <button class=\"remove-file\" onClick={(e) => {\n e.stopPropagation();\n this.selectedFiles = this.selectedFiles?.filter((_, itemIndex) => index !== itemIndex);\n }}>×</button>\n </div>\n })\n }\n </div>\n {\n this.multiple ? <div>\n {\n (this.selectedFiles?.length ?? 0) < this.maxFileCount && this.uploadBtn()\n }\n </div> : <div>\n {\n !this.selectedFiles?.length && this.uploadBtn()\n }\n </div>\n }\n </div>\n </div>\n <input\n type=\"file\"\n class=\"file-input\"\n onChange={this.handleFileChange}\n />\n </div>\n )\n }\n}"],"version":3}
@@ -1,5 +1,5 @@
1
- import { p as proxyCustomElement, H, c as createEvent, h } from './p-CR7WLzmM.js';
2
- import { c as configStore } from './p-DUQ46MUh.js';
1
+ import { p as proxyCustomElement, H, d as createEvent, h } from './p-BdiUKin5.js';
2
+ import { c as configStore } from './p-BGXbWUJg.js';
3
3
 
4
4
  const pcmDrawerCss = ":host{display:block}.drawer-container{position:fixed;top:0;left:0;width:0;height:0;overflow:visible}.drawer-mask{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0, 0, 0, 0.45);opacity:0;visibility:hidden;transition:opacity 0.3s ease, visibility 0.3s ease}.mask-visible{opacity:1;visibility:visible}.drawer-content{position:fixed;top:0;right:0;bottom:0;display:flex;flex-direction:column;background-color:#fff;box-shadow:-2px 0 8px rgba(0, 0, 0, 0.15);transform:translateX(100%);transition:transform 0.3s cubic-bezier(0.23, 1, 0.32, 1)}.drawer-content-visible{transform:translateX(0)}.drawer-header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;color:rgba(0, 0, 0, 0.85);border-bottom:1px solid #f0f0f0}.drawer-title{flex:1;margin:0;font-size:16px;line-height:22px;font-weight:500;color:rgba(0, 0, 0, 0.85);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drawer-close{padding:0;background:transparent;border:none;outline:none;cursor:pointer;font-size:16px;color:rgba(0, 0, 0, 0.45);transition:color 0.3s}.drawer-close:hover{color:rgba(0, 0, 0, 0.85)}.drawer-body{flex:1;padding:24px;overflow:auto}@media (max-width: 768px){.drawer-content{width:100% !important}.drawer-header{padding:12px 16px}.drawer-body{padding:16px}}";
5
5
 
@@ -130,7 +130,7 @@ const PcmDrawer = /*@__PURE__*/ proxyCustomElement(class PcmDrawer extends H {
130
130
  const maskStyle = {
131
131
  zIndex: `${this.zIndex}`,
132
132
  };
133
- return (h("div", { key: 'c0c12a379d5ebfa0dd3cc3d1bbdc3ac758a5006f', class: { 'drawer-container': true, 'drawer-open': this.isOpen } }, this.mask && (h("div", { key: '01a6db65de08dd54fbc1a52efeda576e6f71f4ae', class: { 'drawer-mask': true, 'mask-visible': this.isOpen }, style: maskStyle, onClick: this.handleMaskClick })), h("div", { key: '121cb9463b12c9ff287e1890c03281dd69d074a9', class: { 'drawer-content': true, 'drawer-content-visible': this.isOpen }, style: drawerStyle }, h("div", { key: '839536eb87451599dafdda11185935f51b59ce03', class: "drawer-header" }, this.drawerTitle && h("div", { key: 'f02c896b38f2e089687f0baa96fea06f4303ebf0', class: "drawer-title" }, this.drawerTitle), this.closable && (h("button", { key: '0ed699d106894d01242f105583860376f1228f48', class: "drawer-close", onClick: this.handleClose }, h("svg", { key: '987102bc7f8fb3d86322a8d9029951db6cccb266', viewBox: "64 64 896 896", focusable: "false", "data-icon": "close", width: "1em", height: "1em", fill: "currentColor", "aria-hidden": "true" }, h("path", { key: 'b2e5ea93efbab2fe2a76ed59872144cdb4ee9f6a', d: "M563.8 512l262.5-312.9c4.4-5.2.7-13.1-6.1-13.1h-79.8c-4.7 0-9.2 2.1-12.3 5.7L511.6 449.8 295.1 191.7c-3-3.6-7.5-5.7-12.3-5.7H203c-6.8 0-10.5 7.9-6.1 13.1L459.4 512 196.9 824.9A7.95 7.95 0 00203 838h79.8c4.7 0 9.2-2.1 12.3-5.7l216.5-258.1 216.5 258.1c3 3.6 7.5 5.7 12.3 5.7h79.8c6.8 0 10.5-7.9 6.1-13.1L563.8 512z" }))))), h("div", { key: 'd882ce5d71c4d2adeecab918a70a56b657e86b63', class: "drawer-body" }, h("slot", { key: '9a822a390e1f2f20d287d29dbbbb0501b0989207' })))));
133
+ return (h("div", { key: '5ca0630697aaf594d75095a631163a19ed8e4a9b', class: { 'drawer-container': true, 'drawer-open': this.isOpen } }, this.mask && (h("div", { key: '59e9f9f1d48dca079d76ff3ac4f3d4e2f7132bae', class: { 'drawer-mask': true, 'mask-visible': this.isOpen }, style: maskStyle, onClick: this.handleMaskClick })), h("div", { key: 'c9138ac3ff9139d2a199abba971481842eb78ee3', class: { 'drawer-content': true, 'drawer-content-visible': this.isOpen }, style: drawerStyle }, h("div", { key: 'fbcffe58c697b95b188609733afafc1531a87e5f', class: "drawer-header" }, this.drawerTitle && h("div", { key: '7f57ebafc446670961a05c0714a25f2650183e32', class: "drawer-title" }, this.drawerTitle), this.closable && (h("button", { key: '9d6ec03e600639be9c44fd87da0687b1777d0d92', class: "drawer-close", onClick: this.handleClose }, h("svg", { key: '8960f8ce5325339ed8c06b40043f19e17c45aa52', viewBox: "64 64 896 896", focusable: "false", "data-icon": "close", width: "1em", height: "1em", fill: "currentColor", "aria-hidden": "true" }, h("path", { key: '0dede2ac0608601edde40bee26720ee938a8f7d9', d: "M563.8 512l262.5-312.9c4.4-5.2.7-13.1-6.1-13.1h-79.8c-4.7 0-9.2 2.1-12.3 5.7L511.6 449.8 295.1 191.7c-3-3.6-7.5-5.7-12.3-5.7H203c-6.8 0-10.5 7.9-6.1 13.1L459.4 512 196.9 824.9A7.95 7.95 0 00203 838h79.8c4.7 0 9.2-2.1 12.3-5.7l216.5-258.1 216.5 258.1c3 3.6 7.5 5.7 12.3 5.7h79.8c6.8 0 10.5-7.9 6.1-13.1L563.8 512z" }))))), h("div", { key: '28d0ee3ededd2b7ee4b00747acc820227629f91d', class: "drawer-body" }, h("slot", { key: 'bbbd99d68c216d10afa4458fe9e4f384f17cb563' })))));
134
134
  }
135
135
  static get watchers() { return {
136
136
  "isOpen": ["visibleChanged"]
@@ -166,6 +166,6 @@ function defineCustomElement() {
166
166
  defineCustomElement();
167
167
 
168
168
  export { PcmDrawer as P, defineCustomElement as d };
169
- //# sourceMappingURL=p-D2Z8casl.js.map
169
+ //# sourceMappingURL=p-CuIvbaWY.js.map
170
170
 
171
- //# sourceMappingURL=p-D2Z8casl.js.map
171
+ //# sourceMappingURL=p-CuIvbaWY.js.map
@@ -0,0 +1 @@
1
+ {"file":"p-CuIvbaWY.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/pcm-drawer/pcm-drawer.css?tag=pcm-drawer&encapsulation=shadow","src/components/pcm-drawer/pcm-drawer.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.drawer-container {\n position: fixed;\n top: 0;\n left: 0;\n width: 0;\n height: 0;\n overflow: visible;\n}\n\n.drawer-mask {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background-color: rgba(0, 0, 0, 0.45);\n opacity: 0;\n visibility: hidden;\n transition: opacity 0.3s ease, visibility 0.3s ease;\n}\n\n.mask-visible {\n opacity: 1;\n visibility: visible;\n}\n\n.drawer-content {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n display: flex;\n flex-direction: column;\n background-color: #fff;\n box-shadow: -2px 0 8px rgba(0, 0, 0, 0.15);\n transform: translateX(100%);\n transition: transform 0.3s cubic-bezier(0.23, 1, 0.32, 1);\n}\n\n.drawer-content-visible {\n transform: translateX(0);\n}\n\n.drawer-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 16px 24px;\n color: rgba(0, 0, 0, 0.85);\n border-bottom: 1px solid #f0f0f0;\n}\n\n.drawer-title {\n flex: 1;\n margin: 0;\n font-size: 16px;\n line-height: 22px;\n font-weight: 500;\n color: rgba(0, 0, 0, 0.85);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.drawer-close {\n padding: 0;\n background: transparent;\n border: none;\n outline: none;\n cursor: pointer;\n font-size: 16px;\n color: rgba(0, 0, 0, 0.45);\n transition: color 0.3s;\n}\n\n.drawer-close:hover {\n color: rgba(0, 0, 0, 0.85);\n}\n\n.drawer-body {\n flex: 1;\n padding: 24px;\n overflow: auto;\n}\n\n/* 响应式样式 */\n@media (max-width: 768px) {\n .drawer-content {\n width: 100% !important;\n }\n \n .drawer-header {\n padding: 12px 16px;\n }\n \n .drawer-body {\n padding: 16px;\n }\n} ","import { Component, Prop, h, Event, EventEmitter, Watch, Method, Element, State } from '@stencil/core';\nimport { configStore } from '../../../store/config.store';\n\n/**\n * 抽屉组件\n * 从屏幕边缘滑出的浮层面板,类似 Ant Design 的 Drawer 组件\n */\n@Component({\n tag: 'pcm-drawer',\n styleUrl: 'pcm-drawer.css',\n shadow: true,\n})\nexport class PcmDrawer {\n /**\n * 抽屉是否可见\n */\n @Prop({ mutable: true, reflect: true }) isOpen: boolean = false;\n\n /**\n * 抽屉标题\n */\n @Prop() drawerTitle: string = '';\n\n /**\n * 宽度,可以是像素值或百分比\n */\n @Prop() width: string = '378px';\n\n /**\n * 高度,在 placement 为 top 或 bottom 时使用\n */\n @Prop() height: string = '378px';\n\n /**\n * 是否显示关闭按钮\n */\n @Prop() closable: boolean = true;\n\n /**\n * 点击蒙层是否允许关闭\n */\n @Prop() maskClosable: boolean = true;\n\n /**\n * 是否显示蒙层\n */\n @Prop() mask: boolean = true;\n\n /**\n * 抽屉关闭后的回调\n */\n @Event() closed: EventEmitter<void>;\n\n /**\n * 抽屉打开后的回调\n */\n @Event() afterOpen: EventEmitter<void>;\n\n /**\n * 抽屉关闭后的回调\n */\n @Event() afterClose: EventEmitter<void>;\n\n @Element() hostElement: HTMLElement;\n\n @State() zIndex: number = 1000;\n\n private bodyOverflowBeforeOpen: string = '';\n private transitionEndHandler: () => void;\n\n /**\n * 打开抽屉\n */\n @Method()\n async open() {\n this.isOpen = true;\n }\n\n /**\n * 关闭抽屉\n */\n @Method()\n async close() {\n this.isOpen = false;\n }\n\n @Watch('isOpen')\n visibleChanged(newValue: boolean) {\n if (newValue) {\n // 打开抽屉时,禁止背景滚动\n this.bodyOverflowBeforeOpen = document.body.style.overflow;\n document.body.style.overflow = 'hidden';\n \n // 添加过渡结束事件监听器\n const drawer = this.hostElement.shadowRoot.querySelector('.drawer-content') as HTMLElement;\n if (drawer) {\n this.transitionEndHandler = () => {\n this.afterOpen.emit();\n };\n drawer.addEventListener('transitionend', this.transitionEndHandler, { once: true });\n }\n } else {\n // 关闭抽屉时,恢复背景滚动\n document.body.style.overflow = this.bodyOverflowBeforeOpen;\n \n // 添加过渡结束事件监听器\n const drawer = this.hostElement.shadowRoot.querySelector('.drawer-content') as HTMLElement;\n if (drawer) {\n this.transitionEndHandler = () => {\n this.afterClose.emit();\n };\n drawer.addEventListener('transitionend', this.transitionEndHandler, { once: true });\n }\n }\n }\n\n componentWillLoad() {\n // 尝试从缓存中读取 zIndex\n const cachedZIndex = configStore.getItem<number>('modal-zIndex');\n if (cachedZIndex) {\n this.zIndex = cachedZIndex;\n }\n }\n\n disconnectedCallback() {\n // 组件卸载时恢复背景滚动\n if (this.isOpen) {\n document.body.style.overflow = this.bodyOverflowBeforeOpen;\n }\n \n // 移除事件监听器\n const drawer = this.hostElement.shadowRoot?.querySelector('.drawer-content') as HTMLElement;\n if (drawer && this.transitionEndHandler) {\n drawer.removeEventListener('transitionend', this.transitionEndHandler);\n }\n }\n\n private handleMaskClick = () => {\n if (this.maskClosable) {\n this.handleClose();\n }\n };\n\n private handleClose = () => {\n this.isOpen = false;\n this.closed.emit();\n };\n\n render() {\n const drawerStyle = {\n width: this.width,\n zIndex: `${this.zIndex + 1}`,\n };\n\n const maskStyle = {\n zIndex: `${this.zIndex}`,\n };\n\n return (\n <div class={{ 'drawer-container': true, 'drawer-open': this.isOpen }}>\n {this.mask && (\n <div \n class={{ 'drawer-mask': true, 'mask-visible': this.isOpen }} \n style={maskStyle}\n onClick={this.handleMaskClick}\n ></div>\n )}\n <div \n class={{ 'drawer-content': true, 'drawer-content-visible': this.isOpen }} \n style={drawerStyle}\n >\n <div class=\"drawer-header\">\n {this.drawerTitle && <div class=\"drawer-title\">{this.drawerTitle}</div>}\n {this.closable && (\n <button class=\"drawer-close\" onClick={this.handleClose}>\n <svg viewBox=\"64 64 896 896\" focusable=\"false\" data-icon=\"close\" width=\"1em\" height=\"1em\" fill=\"currentColor\" aria-hidden=\"true\">\n <path d=\"M563.8 512l262.5-312.9c4.4-5.2.7-13.1-6.1-13.1h-79.8c-4.7 0-9.2 2.1-12.3 5.7L511.6 449.8 295.1 191.7c-3-3.6-7.5-5.7-12.3-5.7H203c-6.8 0-10.5 7.9-6.1 13.1L459.4 512 196.9 824.9A7.95 7.95 0 00203 838h79.8c4.7 0 9.2-2.1 12.3-5.7l216.5-258.1 216.5 258.1c3 3.6 7.5 5.7 12.3 5.7h79.8c6.8 0 10.5-7.9 6.1-13.1L563.8 512z\"></path>\n </svg>\n </button>\n )}\n </div>\n <div class=\"drawer-body\">\n <slot></slot>\n </div>\n </div>\n </div>\n );\n }\n} "],"version":3}