pcm-agents 1.0.6 → 1.0.7

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 (293) hide show
  1. package/dist/cjs/{components-chat-message_32.cjs.entry.js → components-chat-message_33.cjs.entry.js} +9057 -10028
  2. package/dist/cjs/components-chat-message_33.cjs.entry.js.map +1 -0
  3. package/dist/cjs/components-oem-virtual-chat-modal.cjs.entry.js +1829 -0
  4. package/dist/cjs/components-oem-virtual-chat-modal.cjs.entry.js.map +1 -0
  5. package/dist/cjs/components-oem-virtual-chat-modal.entry.cjs.js.map +1 -0
  6. package/dist/cjs/config.store-BIjicJY9.js +262 -0
  7. package/dist/cjs/config.store-BIjicJY9.js.map +1 -0
  8. package/dist/cjs/{conversation-utils-Na0f0AoH.js → conversation-utils-srlCwYy5.js} +4 -4
  9. package/dist/cjs/{conversation-utils-Na0f0AoH.js.map → conversation-utils-srlCwYy5.js.map} +1 -1
  10. package/dist/cjs/{index-BPngQTFc.js → index-CJQRBB6e.js} +7 -261
  11. package/dist/cjs/index-CJQRBB6e.js.map +1 -0
  12. package/dist/cjs/index-C_qhED9Z.js +22 -26
  13. package/dist/cjs/{message-utils-DbTqMOA1.js → index-D5RimYc5.js} +2 -23
  14. package/dist/cjs/index-D5RimYc5.js.map +1 -0
  15. package/dist/cjs/index.cjs.js +2 -1
  16. package/dist/cjs/index.cjs.js.map +1 -1
  17. package/dist/cjs/loader.cjs.js +1 -1
  18. package/dist/cjs/message-utils-C8eJnzLy.js +26 -0
  19. package/dist/cjs/message-utils-C8eJnzLy.js.map +1 -0
  20. package/dist/cjs/oem-cast-modal.cjs.entry.js +427 -0
  21. package/dist/cjs/oem-cast-modal.cjs.entry.js.map +1 -0
  22. package/dist/cjs/oem-cast-modal.entry.cjs.js.map +1 -0
  23. package/dist/cjs/{pcm-htws-modal.cjs.entry.js → oem-htws-modal.cjs.entry.js} +138 -116
  24. package/dist/cjs/oem-htws-modal.cjs.entry.js.map +1 -0
  25. package/dist/cjs/oem-htws-modal.entry.cjs.js.map +1 -0
  26. package/dist/cjs/{pcm-jd-modal.cjs.entry.js → oem-jd-modal.cjs.entry.js} +83 -376
  27. package/dist/cjs/oem-jd-modal.cjs.entry.js.map +1 -0
  28. package/dist/cjs/oem-jd-modal.entry.cjs.js.map +1 -0
  29. package/dist/cjs/{pcm-zygh-modal.cjs.entry.js → oem-jlpp-modal.cjs.entry.js} +165 -101
  30. package/dist/cjs/oem-jlpp-modal.cjs.entry.js.map +1 -0
  31. package/dist/cjs/oem-jlpp-modal.entry.cjs.js.map +1 -0
  32. package/dist/cjs/{pcm-jlzz-modal.cjs.entry.js → oem-jlzz-modal.cjs.entry.js} +16 -203
  33. package/dist/cjs/oem-jlzz-modal.cjs.entry.js.map +1 -0
  34. package/dist/{pcm-agents/pcm-jlzz-modal.entry.esm.js.map → cjs/oem-jlzz-modal.entry.cjs.js.map} +1 -1
  35. package/dist/cjs/{pcm-jlpp-modal.cjs.entry.js → oem-mnct-modal.cjs.entry.js} +70 -97
  36. package/dist/cjs/oem-mnct-modal.cjs.entry.js.map +1 -0
  37. package/dist/cjs/oem-mnct-modal.entry.cjs.js.map +1 -0
  38. package/dist/cjs/{pcm-mnms-modal.cjs.entry.js → oem-mnms-modal.cjs.entry.js} +159 -43
  39. package/dist/cjs/oem-mnms-modal.cjs.entry.js.map +1 -0
  40. package/dist/cjs/oem-mnms-modal.entry.cjs.js.map +1 -0
  41. package/dist/cjs/{pcm-qgqjl-modal.cjs.entry.js → oem-qgqjl-modal.cjs.entry.js} +48 -18
  42. package/dist/cjs/oem-qgqjl-modal.cjs.entry.js.map +1 -0
  43. package/dist/cjs/oem-qgqjl-modal.entry.cjs.js.map +1 -0
  44. package/dist/cjs/pcm-agents.cjs.js +1 -1
  45. package/dist/cjs/pcm-hr-chat-modal.cjs.entry.js +4 -3
  46. package/dist/cjs/pcm-hr-chat-modal.cjs.entry.js.map +1 -1
  47. package/dist/cjs/pcm-hr-chat-modal.entry.cjs.js.map +1 -1
  48. package/dist/cjs/pcm-jlsx-modal.cjs.entry.js +27 -25
  49. package/dist/cjs/pcm-jlsx-modal.cjs.entry.js.map +1 -1
  50. package/dist/cjs/pcm-jlsx-modal.entry.cjs.js.map +1 -1
  51. package/dist/cjs/{sentry-reporter-B1jvgkp7.js → sentry-reporter-uulX7WVC.js} +5 -5
  52. package/dist/cjs/{sentry-reporter-B1jvgkp7.js.map → sentry-reporter-uulX7WVC.js.map} +1 -1
  53. package/dist/collection/components/oem-cast-modal/oem-cast-modal.css +6 -1
  54. package/dist/components/components-chat-message.js +1 -1
  55. package/dist/components/components-digital-human.js +1 -1
  56. package/dist/components/components-export-records-modal.js +1 -1
  57. package/dist/components/components-mobile-input-btn.js +1 -1
  58. package/dist/components/components-mobile-upload-btn.js +1 -1
  59. package/dist/components/components-oem-virtual-chat-modal.js +1 -1
  60. package/dist/components/components-position-selector.js +1 -1
  61. package/dist/components/components-thousand-resume-wrapper.js +1 -1
  62. package/dist/components/components-upload.js +1 -1
  63. package/dist/components/components-voice-input-btn.js +1 -1
  64. package/dist/components/index.js +1 -1
  65. package/dist/components/oem-cast-modal.js +1 -1
  66. package/dist/components/oem-cast-modal.js.map +1 -1
  67. package/dist/components/oem-htws-modal.js +5 -5
  68. package/dist/components/oem-jd-modal.js +5 -5
  69. package/dist/components/oem-jlpp-modal.js +7 -7
  70. package/dist/components/oem-jlsx-modal.js +5 -5
  71. package/dist/components/oem-jlzz-modal.js +5 -5
  72. package/dist/components/oem-mnct-modal.js +7 -7
  73. package/dist/components/oem-mnms-modal.js +8 -8
  74. package/dist/components/oem-qgqjl-modal.js +9 -9
  75. package/dist/components/oem-zygh-modal.js +5 -5
  76. package/dist/components/{p-D7D_3MQL.js → p--IeRQcxT.js} +3 -3
  77. package/dist/components/{p-D7D_3MQL.js.map → p--IeRQcxT.js.map} +1 -1
  78. package/dist/components/{p-fAgc1_6t.js → p-14CtQGo8.js} +4 -4
  79. package/dist/components/{p-fAgc1_6t.js.map → p-14CtQGo8.js.map} +1 -1
  80. package/dist/components/{p-li4R8x26.js → p-2BiWHTOV.js} +3 -3
  81. package/dist/components/{p-li4R8x26.js.map → p-2BiWHTOV.js.map} +1 -1
  82. package/dist/components/{p-C9XyS38z.js → p-5TyoLbXy.js} +5 -5
  83. package/dist/components/{p-C9XyS38z.js.map → p-5TyoLbXy.js.map} +1 -1
  84. package/dist/components/{p-Cc0Eazm9.js → p-BJKIlCmI.js} +3 -3
  85. package/dist/components/{p-Cc0Eazm9.js.map → p-BJKIlCmI.js.map} +1 -1
  86. package/dist/components/{p-DhrczBoo.js → p-BUA1GYVe.js} +3 -3
  87. package/dist/components/{p-DhrczBoo.js.map → p-BUA1GYVe.js.map} +1 -1
  88. package/dist/components/{p-0Ij65ybD.js → p-BUVNyxhI.js} +3 -3
  89. package/dist/components/{p-0Ij65ybD.js.map → p-BUVNyxhI.js.map} +1 -1
  90. package/dist/components/{p-CjhA27Iq.js → p-BWdXlms4.js} +3 -3
  91. package/dist/components/{p-CjhA27Iq.js.map → p-BWdXlms4.js.map} +1 -1
  92. package/dist/components/{p-B24U704n.js → p-BdgdgjaW.js} +3 -3
  93. package/dist/components/{p-B24U704n.js.map → p-BdgdgjaW.js.map} +1 -1
  94. package/dist/components/{p-C6gAMnwa.js → p-BdzFXB1t.js} +3 -3
  95. package/dist/components/{p-C6gAMnwa.js.map → p-BdzFXB1t.js.map} +1 -1
  96. package/dist/components/{p-BR37xNkD.js → p-Bxg4nW6-.js} +3 -3
  97. package/dist/components/{p-BR37xNkD.js.map → p-Bxg4nW6-.js.map} +1 -1
  98. package/dist/components/{p-BI0i2rY4.js → p-c8fMPeu_.js} +3 -3
  99. package/dist/components/{p-BI0i2rY4.js.map → p-c8fMPeu_.js.map} +1 -1
  100. package/dist/components/{p-B5DJYdYb.js → p-wAqiaji9.js} +3 -3
  101. package/dist/components/{p-B5DJYdYb.js.map → p-wAqiaji9.js.map} +1 -1
  102. package/dist/components/{p-CzbmmB8j.js → p-wTdMzyVB.js} +3 -3
  103. package/dist/components/{p-CzbmmB8j.js.map → p-wTdMzyVB.js.map} +1 -1
  104. package/dist/components/pcm-1zhanshi-mnms-modal.js +5 -5
  105. package/dist/components/pcm-app-chat-modal.js +1 -1
  106. package/dist/components/pcm-ats-mnms-modal.js +5 -5
  107. package/dist/components/pcm-card.js +1 -1
  108. package/dist/components/pcm-hr-chat-modal.js +2 -2
  109. package/dist/components/pcm-htws-modal.js +8 -8
  110. package/dist/components/pcm-hyzj-modal.js +5 -5
  111. package/dist/components/pcm-jd-modal.js +6 -6
  112. package/dist/components/pcm-jlpp-modal.js +8 -8
  113. package/dist/components/pcm-jlsx-modal.js +5 -5
  114. package/dist/components/pcm-jlzz-modal.js +6 -6
  115. package/dist/components/pcm-mnct-modal.js +7 -7
  116. package/dist/components/pcm-mnms-modal.js +8 -8
  117. package/dist/components/pcm-mnms-zp-modal.js +8 -8
  118. package/dist/components/pcm-msbg-modal.js +5 -5
  119. package/dist/components/pcm-qgqjl-modal.js +9 -9
  120. package/dist/components/pcm-virtual-chat-modal.js +1 -1
  121. package/dist/components/pcm-zsk-chat-modal.js +2 -2
  122. package/dist/components/pcm-zygh-modal.js +7 -7
  123. package/dist/components/pcm-zygh-v2-modal.js +7 -7
  124. package/dist/esm/{components-chat-message_32.entry.js → components-chat-message_33.entry.js} +9957 -10929
  125. package/dist/esm/components-chat-message_33.entry.js.map +1 -0
  126. package/dist/esm/components-oem-virtual-chat-modal.entry.js +1827 -0
  127. package/dist/esm/components-oem-virtual-chat-modal.entry.js.map +1 -0
  128. package/dist/esm/config.store-C--BQ-cn.js +259 -0
  129. package/dist/esm/config.store-C--BQ-cn.js.map +1 -0
  130. package/dist/esm/{conversation-utils-BSUtuMqH.js → conversation-utils-B8KFe8e5.js} +4 -4
  131. package/dist/esm/{conversation-utils-BSUtuMqH.js.map → conversation-utils-B8KFe8e5.js.map} +1 -1
  132. package/dist/esm/{message-utils-BVjB8bxU.js → index-B_xjnWkF.js} +3 -23
  133. package/dist/esm/index-B_xjnWkF.js.map +1 -0
  134. package/dist/esm/{index-Bq0K-WqZ.js → index-DA8Myhft.js} +25 -29
  135. package/dist/esm/{index-Bq0K-WqZ.js.map → index-DA8Myhft.js.map} +1 -1
  136. package/dist/esm/{index-ffawiHP3.js → index-mY4LYmpx.js} +7 -260
  137. package/dist/esm/index-mY4LYmpx.js.map +1 -0
  138. package/dist/esm/index.js +3 -2
  139. package/dist/esm/index.js.map +1 -1
  140. package/dist/esm/loader.js +3 -3
  141. package/dist/esm/message-utils-DnoxSHNP.js +24 -0
  142. package/dist/esm/message-utils-DnoxSHNP.js.map +1 -0
  143. package/dist/esm/oem-cast-modal.entry.js +425 -0
  144. package/dist/esm/oem-cast-modal.entry.js.map +1 -0
  145. package/dist/esm/{pcm-htws-modal.entry.js → oem-htws-modal.entry.js} +138 -116
  146. package/dist/esm/oem-htws-modal.entry.js.map +1 -0
  147. package/dist/esm/{pcm-jd-modal.entry.js → oem-jd-modal.entry.js} +83 -376
  148. package/dist/esm/oem-jd-modal.entry.js.map +1 -0
  149. package/dist/esm/{pcm-zygh-modal.entry.js → oem-jlpp-modal.entry.js} +165 -101
  150. package/dist/esm/oem-jlpp-modal.entry.js.map +1 -0
  151. package/dist/esm/{pcm-jlzz-modal.entry.js → oem-jlzz-modal.entry.js} +16 -203
  152. package/dist/esm/{pcm-jlzz-modal.entry.js.map → oem-jlzz-modal.entry.js.map} +1 -1
  153. package/dist/esm/{pcm-jlpp-modal.entry.js → oem-mnct-modal.entry.js} +70 -97
  154. package/dist/esm/oem-mnct-modal.entry.js.map +1 -0
  155. package/dist/esm/{pcm-mnms-modal.entry.js → oem-mnms-modal.entry.js} +159 -43
  156. package/dist/esm/oem-mnms-modal.entry.js.map +1 -0
  157. package/dist/esm/{pcm-qgqjl-modal.entry.js → oem-qgqjl-modal.entry.js} +48 -18
  158. package/dist/esm/oem-qgqjl-modal.entry.js.map +1 -0
  159. package/dist/esm/pcm-agents.js +3 -3
  160. package/dist/esm/pcm-hr-chat-modal.entry.js +4 -3
  161. package/dist/esm/pcm-hr-chat-modal.entry.js.map +1 -1
  162. package/dist/esm/pcm-jlsx-modal.entry.js +6 -4
  163. package/dist/esm/pcm-jlsx-modal.entry.js.map +1 -1
  164. package/dist/esm/{sentry-reporter-q_g26pa7.js → sentry-reporter-st9SkiOU.js} +3 -3
  165. package/dist/esm/{sentry-reporter-q_g26pa7.js.map → sentry-reporter-st9SkiOU.js.map} +1 -1
  166. package/dist/pcm-agents/components-oem-virtual-chat-modal.entry.esm.js.map +1 -0
  167. package/dist/pcm-agents/index.esm.js +1 -1
  168. package/dist/pcm-agents/index.esm.js.map +1 -1
  169. package/dist/pcm-agents/oem-cast-modal.entry.esm.js.map +1 -0
  170. package/dist/pcm-agents/oem-htws-modal.entry.esm.js.map +1 -0
  171. package/dist/pcm-agents/oem-jd-modal.entry.esm.js.map +1 -0
  172. package/dist/pcm-agents/oem-jlpp-modal.entry.esm.js.map +1 -0
  173. package/dist/{cjs/pcm-jlzz-modal.entry.cjs.js.map → pcm-agents/oem-jlzz-modal.entry.esm.js.map} +1 -1
  174. package/dist/pcm-agents/oem-mnct-modal.entry.esm.js.map +1 -0
  175. package/dist/pcm-agents/oem-mnms-modal.entry.esm.js.map +1 -0
  176. package/dist/pcm-agents/oem-qgqjl-modal.entry.esm.js.map +1 -0
  177. package/dist/pcm-agents/p-0cedc9bf.entry.js +2 -0
  178. package/dist/pcm-agents/{p-b778f4cc.entry.js.map → p-0cedc9bf.entry.js.map} +1 -1
  179. package/dist/pcm-agents/p-24ce19fc.entry.js +2 -0
  180. package/dist/pcm-agents/p-24ce19fc.entry.js.map +1 -0
  181. package/dist/pcm-agents/p-30b6a88d.entry.js +2 -0
  182. package/dist/pcm-agents/p-30b6a88d.entry.js.map +1 -0
  183. package/dist/pcm-agents/p-557664fc.entry.js +2 -0
  184. package/dist/pcm-agents/{p-340ef557.entry.js.map → p-557664fc.entry.js.map} +1 -1
  185. package/dist/pcm-agents/p-58493403.entry.js +2 -0
  186. package/dist/pcm-agents/p-58493403.entry.js.map +1 -0
  187. package/dist/pcm-agents/p-5ca45877.entry.js +2 -0
  188. package/dist/pcm-agents/p-5ca45877.entry.js.map +1 -0
  189. package/dist/pcm-agents/p-724d9471.entry.js +2 -0
  190. package/dist/pcm-agents/p-724d9471.entry.js.map +1 -0
  191. package/dist/pcm-agents/p-783b46c0.entry.js +2 -0
  192. package/dist/pcm-agents/{p-be4fdac7.entry.js.map → p-783b46c0.entry.js.map} +1 -1
  193. package/dist/pcm-agents/p-81d12737.entry.js +2 -0
  194. package/dist/pcm-agents/p-81d12737.entry.js.map +1 -0
  195. package/dist/pcm-agents/{p-BrEqs5mi.js → p-B23366TU.js} +2 -2
  196. package/dist/pcm-agents/{p-BrEqs5mi.js.map → p-B23366TU.js.map} +1 -1
  197. package/dist/pcm-agents/{p-BVjB8bxU.js → p-B_xjnWkF.js} +2 -2
  198. package/dist/pcm-agents/p-B_xjnWkF.js.map +1 -0
  199. package/dist/pcm-agents/p-C7m_4Gmk.js +2 -0
  200. package/dist/pcm-agents/p-C7m_4Gmk.js.map +1 -0
  201. package/dist/pcm-agents/p-CcIrA6cr.js +2 -0
  202. package/dist/pcm-agents/p-CcIrA6cr.js.map +1 -0
  203. package/dist/pcm-agents/{p-Bq0K-WqZ.js → p-DA8Myhft.js} +2 -2
  204. package/dist/pcm-agents/{p-Bq0K-WqZ.js.map → p-DA8Myhft.js.map} +1 -1
  205. package/dist/pcm-agents/p-DnoxSHNP.js +2 -0
  206. package/dist/pcm-agents/p-DnoxSHNP.js.map +1 -0
  207. package/dist/pcm-agents/p-b9368b8e.entry.js +8 -0
  208. package/dist/pcm-agents/p-b9368b8e.entry.js.map +1 -0
  209. package/dist/pcm-agents/p-d0a7e02b.entry.js +2 -0
  210. package/dist/{cjs/pcm-qgqjl-modal.cjs.entry.js.map → pcm-agents/p-d0a7e02b.entry.js.map} +1 -1
  211. package/dist/pcm-agents/p-f4d5841a.entry.js +2 -0
  212. package/dist/pcm-agents/p-f4d5841a.entry.js.map +1 -0
  213. package/dist/pcm-agents/p-rR0ghCa0.js +2 -0
  214. package/dist/pcm-agents/{p-Oknq-jtc.js.map → p-rR0ghCa0.js.map} +1 -1
  215. package/dist/pcm-agents/pcm-agents.esm.js +1 -1
  216. package/dist/pcm-agents/pcm-hr-chat-modal.entry.esm.js.map +1 -1
  217. package/dist/pcm-agents/pcm-jlsx-modal.entry.esm.js.map +1 -1
  218. package/package.json +1 -1
  219. package/dist/cjs/components-chat-message_32.cjs.entry.js.map +0 -1
  220. package/dist/cjs/index-BPngQTFc.js.map +0 -1
  221. package/dist/cjs/message-utils-DbTqMOA1.js.map +0 -1
  222. package/dist/cjs/pcm-ats-mnms-modal.cjs.entry.js +0 -238
  223. package/dist/cjs/pcm-ats-mnms-modal.cjs.entry.js.map +0 -1
  224. package/dist/cjs/pcm-ats-mnms-modal.entry.cjs.js.map +0 -1
  225. package/dist/cjs/pcm-htws-modal.cjs.entry.js.map +0 -1
  226. package/dist/cjs/pcm-htws-modal.entry.cjs.js.map +0 -1
  227. package/dist/cjs/pcm-jd-modal.cjs.entry.js.map +0 -1
  228. package/dist/cjs/pcm-jd-modal.entry.cjs.js.map +0 -1
  229. package/dist/cjs/pcm-jlpp-modal.cjs.entry.js.map +0 -1
  230. package/dist/cjs/pcm-jlpp-modal.entry.cjs.js.map +0 -1
  231. package/dist/cjs/pcm-jlzz-modal.cjs.entry.js.map +0 -1
  232. package/dist/cjs/pcm-mnct-modal.cjs.entry.js +0 -457
  233. package/dist/cjs/pcm-mnct-modal.cjs.entry.js.map +0 -1
  234. package/dist/cjs/pcm-mnct-modal.entry.cjs.js.map +0 -1
  235. package/dist/cjs/pcm-mnms-modal.cjs.entry.js.map +0 -1
  236. package/dist/cjs/pcm-mnms-modal.entry.cjs.js.map +0 -1
  237. package/dist/cjs/pcm-qgqjl-modal.entry.cjs.js.map +0 -1
  238. package/dist/cjs/pcm-zygh-modal.cjs.entry.js.map +0 -1
  239. package/dist/cjs/pcm-zygh-modal.entry.cjs.js.map +0 -1
  240. package/dist/cjs/pcm-zygh-v2-modal.cjs.entry.js +0 -332
  241. package/dist/cjs/pcm-zygh-v2-modal.cjs.entry.js.map +0 -1
  242. package/dist/cjs/pcm-zygh-v2-modal.entry.cjs.js.map +0 -1
  243. package/dist/esm/components-chat-message_32.entry.js.map +0 -1
  244. package/dist/esm/index-ffawiHP3.js.map +0 -1
  245. package/dist/esm/message-utils-BVjB8bxU.js.map +0 -1
  246. package/dist/esm/pcm-ats-mnms-modal.entry.js +0 -236
  247. package/dist/esm/pcm-ats-mnms-modal.entry.js.map +0 -1
  248. package/dist/esm/pcm-htws-modal.entry.js.map +0 -1
  249. package/dist/esm/pcm-jd-modal.entry.js.map +0 -1
  250. package/dist/esm/pcm-jlpp-modal.entry.js.map +0 -1
  251. package/dist/esm/pcm-mnct-modal.entry.js +0 -455
  252. package/dist/esm/pcm-mnct-modal.entry.js.map +0 -1
  253. package/dist/esm/pcm-mnms-modal.entry.js.map +0 -1
  254. package/dist/esm/pcm-qgqjl-modal.entry.js.map +0 -1
  255. package/dist/esm/pcm-zygh-modal.entry.js.map +0 -1
  256. package/dist/esm/pcm-zygh-v2-modal.entry.js +0 -330
  257. package/dist/esm/pcm-zygh-v2-modal.entry.js.map +0 -1
  258. package/dist/pcm-agents/p-06359d3b.entry.js +0 -2
  259. package/dist/pcm-agents/p-06359d3b.entry.js.map +0 -1
  260. package/dist/pcm-agents/p-340ef557.entry.js +0 -2
  261. package/dist/pcm-agents/p-4facfdd8.entry.js +0 -2
  262. package/dist/pcm-agents/p-4facfdd8.entry.js.map +0 -1
  263. package/dist/pcm-agents/p-60c7f37f.entry.js +0 -2
  264. package/dist/pcm-agents/p-60c7f37f.entry.js.map +0 -1
  265. package/dist/pcm-agents/p-7e68b5b1.entry.js +0 -8
  266. package/dist/pcm-agents/p-7e68b5b1.entry.js.map +0 -1
  267. package/dist/pcm-agents/p-BCHVxmVd.js +0 -2
  268. package/dist/pcm-agents/p-BCHVxmVd.js.map +0 -1
  269. package/dist/pcm-agents/p-BVjB8bxU.js.map +0 -1
  270. package/dist/pcm-agents/p-Oknq-jtc.js +0 -2
  271. package/dist/pcm-agents/p-ae371752.entry.js +0 -2
  272. package/dist/pcm-agents/p-ae371752.entry.js.map +0 -1
  273. package/dist/pcm-agents/p-af179f1a.entry.js +0 -2
  274. package/dist/pcm-agents/p-af179f1a.entry.js.map +0 -1
  275. package/dist/pcm-agents/p-b778f4cc.entry.js +0 -2
  276. package/dist/pcm-agents/p-bbb30b82.entry.js +0 -2
  277. package/dist/pcm-agents/p-bbb30b82.entry.js.map +0 -1
  278. package/dist/pcm-agents/p-be4fdac7.entry.js +0 -2
  279. package/dist/pcm-agents/p-c053e88e.entry.js +0 -2
  280. package/dist/pcm-agents/p-c053e88e.entry.js.map +0 -1
  281. package/dist/pcm-agents/p-d2905eef.entry.js +0 -2
  282. package/dist/pcm-agents/p-d2905eef.entry.js.map +0 -1
  283. package/dist/pcm-agents/p-eadc6905.entry.js +0 -2
  284. package/dist/pcm-agents/p-eadc6905.entry.js.map +0 -1
  285. package/dist/pcm-agents/pcm-ats-mnms-modal.entry.esm.js.map +0 -1
  286. package/dist/pcm-agents/pcm-htws-modal.entry.esm.js.map +0 -1
  287. package/dist/pcm-agents/pcm-jd-modal.entry.esm.js.map +0 -1
  288. package/dist/pcm-agents/pcm-jlpp-modal.entry.esm.js.map +0 -1
  289. package/dist/pcm-agents/pcm-mnct-modal.entry.esm.js.map +0 -1
  290. package/dist/pcm-agents/pcm-mnms-modal.entry.esm.js.map +0 -1
  291. package/dist/pcm-agents/pcm-qgqjl-modal.entry.esm.js.map +0 -1
  292. package/dist/pcm-agents/pcm-zygh-modal.entry.esm.js.map +0 -1
  293. package/dist/pcm-agents/pcm-zygh-v2-modal.entry.esm.js.map +0 -1
@@ -0,0 +1,425 @@
1
+ import { r as registerInstance, c as createEvent, h } from './index-DA8Myhft.js';
2
+ import { c as configStore } from './config.store-C--BQ-cn.js';
3
+
4
+ const CAST_ASSESSMENT_VERSION = 'CAST-1.0';
5
+ const situation = (scene, question, C, A, S, T) => ({ scene, question, options: { C, A, S, T } });
6
+ const CAST_DIMENSIONS = ['C', 'A', 'S', 'T'];
7
+ const CAST_DIMENSION_INFO = {
8
+ C: { name: '掌控', englishName: 'Command', drive: '目标驱动' },
9
+ A: { name: '感召', englishName: 'Attract', drive: '关系驱动' },
10
+ S: { name: '协同', englishName: 'Support', drive: '稳定驱动' },
11
+ T: { name: '精研', englishName: 'Think', drive: '标准驱动' },
12
+ };
13
+ const CAST_SITUATION_QUESTIONS = [
14
+ situation('求职准备', '招聘会现场,你想去的企业展位排着长队。', '找现场负责人问能不能加快,或先谈别家、回头插空', '跟排队的人聊起来,顺便打听这家公司的情况', '安静排队,利用等待时间想好要说什么', '先对比几家展位的岗位说明,确认哪家最值得排'),
15
+ situation('面试', '面试官问了一个你完全没准备过的问题。', '先给结论再补充理由,不纠结', '轻松地承认没想过,把气氛带一下再答', '稳住语速,往自己熟悉的经历上靠', '先花几秒确认问题理解得对不对,再分点回答'),
16
+ situation('职业选择', '你同时拿到两个 offer:大平台做螺丝钉,小公司独当一面。你最看重——', '哪个能更快拿到话语权和结果', '哪个团队的人让我更想加入', '哪个更稳定、变动风险更小', '把薪资、成长、行业前景列出来打分对比'),
17
+ situation('团队协作', '小组项目出现分歧,眼看要拖期。', '拍板定方向,先推进再说', '私下一个个沟通,先把情绪拉回来', '主动接下别人不愿做的部分,先保住进度', '把分歧点写清楚,用事实判断哪个方案可行'),
18
+ situation('入职适应', '新入职第一周,制度和流程没人系统讲。', '直接问领导边界在哪,然后按自己节奏干', '先跟同事熟起来,从聊天里摸清规矩', '观察别人怎么做,跟着做,不轻易出头', '自己翻文档,整理一份流程笔记'),
19
+ situation('求职准备', '简历投了两周没有回音。', '加大投递并直接联系 HR、找内推,主动出击', '找学长学姐、发朋友圈动用关系', '保持每天固定的投递节奏,不慌,继续等', '复盘简历和岗位的匹配度,分析问题出在哪'),
20
+ situation('任务处理', '领导交给你一个没做过、也没说清要求的任务。', '自己定一个目标,先动手做', '找相关的人聊一圈,把需求问出来', '请领导明确期望和时间,按要求稳妥推进', '先查资料和历史案例,把验收标准搞清楚'),
21
+ situation('压力应对', '连续加班一周,任务还在增加。', '直接跟上级谈优先级,砍掉不该我做的', '找人吐槽、互相打气,靠氛围撑过去', '先忍一忍,把手上的做完再说', '排一个优先级表,按投入产出重新安排'),
22
+ situation('面试', '无领导小组讨论刚开始,还没有人说话。', '先抢时间定讨论框架,把节奏带起来', '做气氛协调,让每个人都能说上话', '认真听,等别人说完再补充', '负责记录和梳理,最后做总结陈述'),
23
+ situation('团队协作', '你发现一位比你资深的同事做法有明显问题。', '直接指出来,对事不对人', '找个轻松的场合旁敲侧击提一下', '先不说,再观察一段时间', '把问题和依据整理清楚,用书面方式反馈'),
24
+ situation('学习成长', '换赛道需要补一门新技能,你会——', '直接上手做项目,边做边补', '找人带、进社群,跟着大家一起学', '按部就班跟完一整套系统课程', '先搞清楚知识体系结构,再逐块攻'),
25
+ situation('面试', '面试就在明天,你只剩一个晚上准备。', '挑最可能问的几个问题直接练答法', '找人模拟面试,练现场感觉', '把常见问题稳稳过一遍', '把公司、岗位、业务查透,做一份提纲'),
26
+ situation('薪酬谈判', 'HR 给出的薪资低于你的预期。', '直接谈,报出自己的数字和理由', '先聊其他条件,把关系谈好再回到薪资', '觉得差不多就接受,稳妥拿下机会', '拿行业薪酬数据和岗位职责说明来谈'),
27
+ situation('组织变化', '部门要推一个新流程,你判断会增加大量重复劳动。', '在会上直接提出反对,并给替代方案', '先私下问问其他人怎么看,联合反馈', '先按新流程执行,走一段再说', '算一下实际增加多少工时,用数字说话'),
28
+ situation('入职适应', '实习期快结束,还不确定能不能留用。', '直接找负责人问清留用标准和自己的差距', '多和团队走动,让更多人记住我', '把手上的事做扎实,等公司安排', '对照岗位要求自查,把短板列出来补'),
29
+ situation('求职准备', '一个你很想去的岗位,要求里有两条你不满足。', '照投,先拿到沟通机会再说', '找认识的人问问这两条到底卡不卡', '先不投,去找更匹配的岗位', '评估这两条的权重,能补的先补上再投'),
30
+ situation('团队协作', '团队里有人长期不出活,已经影响到你的进度。', '直接摊开谈,或者向上反馈', '先了解他遇到什么困难,帮着推一把', '自己多做一点,把缺口补上', '把任务拆细、节点写明,让责任可追溯'),
31
+ situation('任务处理', '你被安排去做一件明显不擅长的事。', '争取换掉,或者改成由我说了算的方式做', '找擅长的人搭伙一起做', '先接下来,慢慢摸索着做', '先研究方法和范例,把门槛降下来'),
32
+ situation('人际拓展', '参加行业交流会,到场发现一个认识的人都没有。', '直奔我想认识的关键人物', '随便找人聊起来,很快就能熟', '待在相对安静的位置,跟着人群走', '先看议程和参会名单,挑有价值的场次和人'),
33
+ situation('挫折应对', '你的方案被否了,理由你并不认同。', '再争取一次,把逻辑讲透', '找决策人私下聊,弄清楚真实顾虑', '接受结果,按新方向调整', '复盘对方的判断依据,看是不是我漏了什么'),
34
+ situation('工作偏好', '日常工作里,最让你不舒服的是——', '什么都要请示,自己说了不算', '一整天没人交流,各干各的', '计划天天变,节奏总被打乱', '标准模糊,全靠“大概差不多”'),
35
+ situation('求职准备', '求职过程中,你更愿意把时间花在——', '争取更好的机会,多谈几家', '拓展人脉,让机会主动找上门', '把已有的机会稳稳跟进好', '分析行业和岗位,找准方向再出手'),
36
+ situation('任务处理', '项目上线前一天,发现一个不影响主流程的小问题。', '不影响就先上,上完再修', '拉群同步一下,看大家怎么定', '按原计划上线,不擅自改动', '评估影响范围,写清楚风险再决定'),
37
+ situation('自我认知', '别人对你的第一印象,通常是——', '目标感强、有主见', '好接近、聊得来', '靠谱、让人放心', '认真、想得细'),
38
+ situation('表达沟通', '要向完全不懂你业务的人介绍自己的工作。', '直接讲我做成了什么', '讲个具体的故事,让对方有画面感', '按时间顺序老老实实讲一遍', '先讲清楚这件事的逻辑和结构'),
39
+ situation('职业选择', '被问到“三年后想做什么”,你的思路是——', '想清楚要到什么位置,然后倒推路径', '看有什么人和圈子值得靠近', '把当下做好,走一步看一步', '分析行业趋势和自己的能力曲线'),
40
+ situation('团队协作', '项目庆功,让你说两句。', '简短说结果和下一步', '感谢每个人,把气氛带热', '说两句客套的,把话头让给别人', '复盘一下这次做对了什么'),
41
+ situation('挫折应对', '一次重要的求职失败(比如终面被刷)之后。', '立刻投下一批,不停下来', '找人说说,情绪过了再继续', '缓一缓,按原来的节奏慢慢来', '复盘整个流程,找出问题点'),
42
+ ];
43
+ const CAST_VALIDITY_QUESTIONS = [
44
+ { id: 'soc', after: 7, question: '我从来没有在简历或面试中,把自己的经历说得比实际更好一些。' },
45
+ { id: 'c1', after: 14, question: '和陌生人打交道,对我来说是一件轻松的事。' },
46
+ { id: 'att', after: 21, question: '注意力检查:请直接选择“比较不符合”。' },
47
+ { id: 'c2', after: 28, question: '在陌生的场合,我更愿意少说话。' },
48
+ ];
49
+ const CAST_JOB_PROFILES = [
50
+ { name: '销售代表 / 商务拓展', weights: [0.85, 0.8, 0.25, 0.35] },
51
+ { name: '客户成功 / 客户经理', weights: [0.4, 0.8, 0.65, 0.4] },
52
+ { name: '项目经理 / PMO', weights: [0.75, 0.55, 0.45, 0.65] },
53
+ { name: '产品经理', weights: [0.65, 0.55, 0.35, 0.75] },
54
+ { name: '数据分析师', weights: [0.25, 0.2, 0.45, 0.95] },
55
+ { name: '财务 / 会计', weights: [0.2, 0.2, 0.7, 0.9] },
56
+ { name: '人力资源专员', weights: [0.35, 0.7, 0.65, 0.55] },
57
+ { name: '行政 / 综合事务', weights: [0.2, 0.4, 0.9, 0.55] },
58
+ { name: '软件工程师', weights: [0.3, 0.2, 0.5, 0.9] },
59
+ { name: '运营专员', weights: [0.5, 0.6, 0.5, 0.6] },
60
+ { name: '教师 / 培训讲师', weights: [0.45, 0.8, 0.6, 0.55] },
61
+ { name: '质量管理 / 合规审核', weights: [0.35, 0.2, 0.6, 0.95] },
62
+ { name: '客服 / 服务支持', weights: [0.15, 0.6, 0.9, 0.45] },
63
+ { name: '创业者 / 业务负责人', weights: [0.95, 0.65, 0.2, 0.5] },
64
+ { name: '市场策划 / 品牌', weights: [0.55, 0.75, 0.35, 0.6] },
65
+ { name: '供应链 / 仓储物流', weights: [0.45, 0.3, 0.7, 0.7] },
66
+ ];
67
+ const CAST_TYPE_DESCRIPTIONS = {
68
+ C: { name: '破局者', tag: '你习惯把模糊的局面推向一个明确的方向。别人还在观望时,你已经先动了。', strengths: '目标感强,决策快,不怕承担责任。在需要快速拿结果、边界不清、压力大的场合,你反而更容易出成绩。求职中你敢于主动出击、直接对话,往往比同龄人更早拿到机会。', cautions: '节奏太快时容易忽略他人的感受和信息的完整性,可能在还没听完的时候就下了判断。初入职场时,这种风格容易被解读为“不服管”。', advice: '优先考虑结果导向、授权充分、有明确指标的岗位。面试时把“我推动了什么、拿到了什么结果”讲清楚,但要主动补一句你是怎么和别人协作的——这是面试官最容易担心的点。' },
69
+ A: { name: '联结者', tag: '你天然能把人和人接上。信息、资源、机会常常是从关系里流向你的。', strengths: '表达自然,感染力强,进入新环境的适应速度快。你善于在非正式场合获取真实信息,这在求职阶段是被严重低估的优势——很多岗位的真实情况只存在于对话里。', cautions: '注意力容易被人和场面牵走,独自处理需要长时间专注、细节精确的任务时会明显吃力。也容易因为不想让人失望而答应过多。', advice: '优先考虑与人打交道密度高的岗位。面试时你的临场表现通常是加分项,但要补足“具体做了什么、数据是多少”——避免只留下“很会说”的印象。' },
70
+ S: { name: '压舱石', tag: '你不追求存在感,但你在的地方事情不容易塌。稳定本身就是一种稀缺能力。', strengths: '耐性好,责任心强,配合度高,交出去的事情让人放心。在需要长期投入、流程稳定、重复中见功力的岗位上,你的复利效应最明显。', cautions: '变动和不确定会持续消耗你的能量。你倾向于自己扛而不是提出来,久了容易积压。求职中也容易因为“不好意思争取”而低估自己的价码。', advice: '优先考虑组织成熟、节奏可预期的用人单位。面试时要刻意练习把自己的贡献说出口——“这件事是我做的”这句话,你需要比别人多说几次。' },
71
+ T: { name: '解析者', tag: '你信任可以被验证的东西。在别人凭感觉决定的地方,你要求一个说得通的理由。', strengths: '标准意识强,逻辑清晰,出错率低。你能发现别人忽略的漏洞,在质量、风险、数据相关的环节上是团队的防线。求职中你的准备通常比别人扎实得多。', cautions: '追求确定性可能拖慢决策,信息不足时你会倾向于不动。对模糊指令的容忍度低,也容易在标准问题上让人觉得不好推进。', advice: '优先考虑规则清晰、专业性强、有明确方法论的岗位。面试时你的准备是优势,但要注意别把答案讲得太密——先给结论,再给依据。' },
72
+ CA: { name: '开拓者', tag: '既能定方向,又能把人带上车。你适合从零开始的局面。', strengths: '驱动力和感染力同时在线,能一边扛目标一边聚人。在业务拓展、新市场、新团队这类没有现成路径的场景里,你的组合最有杀伤力。', cautions: '两个维度都偏“外放”,意味着耐性和细节是你的短板。容易开局漂亮、收尾粗糙,也容易同时铺开太多事。', advice: '优先考虑增量型、拓展型岗位。给自己配一个精研型的搭档比任何自我改进都有效——这句话在面试谈团队协作时也很好用。' },
73
+ CS: { name: '攻坚手', tag: '想清楚就一直干下去。你的强势不体现在气势上,而体现在不放弃上。', strengths: '有主见又有韧性,能在长周期、难啃的任务上持续投入。看起来温和,但在关键问题上你不会退让,这种组合在团队里信任度很高。', cautions: '驱动和稳定这两股力量有时会互相拉扯,让你在“该推还是该等”上内耗。外部表达偏少,功劳容易被别人代言。', advice: '优先考虑需要长期攻坚的岗位。面试时主动讲一个“很久才做成”的事——这是你最有说服力的材料。' },
74
+ CT: { name: '操盘手', tag: '你要的不只是做成,而是想清楚了再做成。判断和执行你都要抓在手里。', strengths: '决策快但有依据,既敢拍板又能自证。在需要独立判断、责任重、容错低的岗位上非常合适,也是团队里少见的能同时看战略和细节的人。', cautions: '对他人的容错度偏低,容易显得难以合作。习惯自己扛判断,授权和培养他人是你的弱项。', advice: '优先考虑有决策空间的专业岗或管理岗。面试时把“我依据什么做的判断”讲透,这是你区别于纯执行者的地方。' },
75
+ AS: { name: '凝聚者', tag: '你让团队变得舒服。人在你身边容易放松,也容易被留下。', strengths: '亲和又可靠,是天然的黏合剂。冲突在你手里往往会软化,新人到你身边容易上手。服务、协作、支持类工作你会做得很自然。', cautions: '两个维度都偏“他人导向”,最容易的失误是把自己的诉求排在最后。面对需要强硬的场合会退,界限感偏弱。', advice: '优先考虑人际密度高、组织氛围好的单位。求职中要提前练习拒绝和谈条件——你不是不会,是不习惯。' },
76
+ AT: { name: '洞察者', tag: '你既看得懂人,也看得懂数。这两样能凑到一起的人并不多。', strengths: '能把复杂的东西讲清楚,也能从对话中提取有效信息。适合做翻译层的工作——把需求变成方案,把方案讲给不懂的人听。', cautions: '分析和表达都强,但推进力偏弱。容易停在“想明白、说明白”,而不是“做成”。也可能因为看得太清楚而迟迟不下场。', advice: '优先考虑咨询、产品、研究、培训一类的岗位。面试时要补一个亲手落地的案例,避免留下“会分析不会干”的印象。' },
77
+ ST: { name: '守正者', tag: '你把事情做对,而且一直做对。可靠是你最不需要证明的东西。', strengths: '严谨、稳定、低出错率,在需要长期一致性的岗位上极难被替代。规则、流程、数据、账目这些事交给你,别人不用复查。', cautions: '变化和模糊会让你不适,主动争取的意愿低。容易被安排而不是被选择,长期下来议价能力偏弱。', advice: '优先考虑制度成熟、专业纵深强的组织。求职中要主动展示你的“不出错”值多少钱——把差错率、经手规模这类数字讲出来。' },
78
+ BAL: { name: '多面手', tag: '你的四个维度没有明显短板,也没有单一的强势面。这既是弹性,也是需要注意的地方。', strengths: '适应性强,能根据场合切换风格,在多变的环境和需要跨界协调的岗位上容易生存。团队重组、轮岗、创业早期这类场景对你有利。', cautions: '没有鲜明的风格标签,在需要“一眼被记住”的求职竞争中会吃亏。也容易在职业早期方向摇摆,什么都做一点,什么都不够深。', advice: '你的突破口不在性格,而在技能纵深。尽早选定一个可积累的专业方向,用能力标签补上风格标签的空缺。面试时把适应力讲成具体案例,而不是形容词。' },
79
+ LOW: { name: '待探索', tag: '本次作答的区分度不足,暂时无法给出稳定的风格判断。', strengths: '这通常不代表你没有风格,而更可能是作答过快、题目情境与你的经历距离较远,或者你正处在职业角色的过渡期。', cautions: '在剖面平坦的情况下,任何风格解读都会失真,我们选择不给结论,而不是给一个看起来像样的结论。', advice: '建议在安静的状态下重新作答一次,代入真实经历而不是理想中的自己。如果两次结果都偏平,可以到人工咨询窗口做一次深度职业访谈。' },
80
+ };
81
+
82
+ const globalCss = ".modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0, 0, 0, 0.5);display:flex;z-index:1000;overflow-y:auto}.fullscreen-overlay{padding:0;background-color:rgba(0, 0, 0, 0.7);position:absolute;width:100%;height:auto}.modal-container{background-color:#fff;border-radius:8px;width:100%;display:flex;flex-direction:column;position:relative;margin:5vh auto auto 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;cursor:pointer}.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;white-space:normal;word-wrap:break-word;word-break:break-all;line-height:1.4}.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}.resume-upload-section label{display:block;margin-bottom:8px;font-weight:500;color:#333}.interview-settings-section{margin-bottom:24px;padding:20px;background-color:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.settings-row{margin-bottom:20px}.settings-row:last-child{margin-bottom:0}.settings-label{display:block;font-weight:500;color:#333;margin-bottom:12px;font-size:14px}.question-number-section{width:100%}.slider-container{display:flex;align-items:center;gap:12px}.question-slider{flex:1;height:6px;background:#ddd;outline:none;border-radius:3px;-webkit-appearance:none;appearance:none}.question-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;background:#0D75FB;cursor:pointer;border-radius:50%;box-shadow:0 2px 4px rgba(0, 0, 0, 0.2)}.question-slider::-moz-range-thumb{width:20px;height:20px;background:#0D75FB;cursor:pointer;border-radius:50%;border:none;box-shadow:0 2px 4px rgba(0, 0, 0, 0.2)}.slider-value{font-weight:600;color:#0D75FB;font-size:14px;min-width:30px;text-align:center}.analysis-toggle-section{width:100%}.toggle-container{display:flex;align-items:center;gap:12px}.toggle-switch{position:relative;display:inline-block;width:44px;height:24px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;transition:0.3s;border-radius:24px}.toggle-slider:before{position:absolute;content:\"\";height:18px;width:18px;left:3px;bottom:3px;background-color:white;transition:0.3s;border-radius:50%;box-shadow:0 2px 4px rgba(0, 0, 0, 0.2)}input:checked+.toggle-slider{background-color:#0D75FB}input:checked+.toggle-slider:before{transform:translateX(20px)}.toggle-text{font-size:14px;color:#666;font-weight:500}.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)}}.header-history-button{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:4px 8px;border:none;border-radius:4px;background:transparent;color:#bbb;cursor:pointer;font-size:13px;font-family:inherit;line-height:1;transition:all 0.2s ease;flex-shrink:0;white-space:nowrap}.header-history-button svg{width:16px;height:16px;display:block;flex-shrink:0}.header-history-button:hover{background-color:rgba(0, 0, 0, 0.04);color:#666}.header-history-button:focus-visible{outline:2px solid rgba(13, 117, 251, 0.35);outline-offset:2px}.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-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}.header-history-entry{display:inline-flex;align-items:center;justify-content:center;margin-left:8px;padding:4px 8px;border:none;border-radius:4px;background:#e6f7ff;color:#1890ff;cursor:pointer;font-size:12px;font-family:inherit;line-height:1;white-space:nowrap;transition:all 0.2s ease}.header-history-entry:hover{background:#bae7ff;color:#0958d9;transform:translateY(-1px)}.header-history-entry:focus-visible{outline:2px solid rgba(13, 117, 251, 0.35);outline-offset:2px}.history-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px 16px;border-top:1px solid #f0f0f0}.history-pagination-button{min-width:72px;padding:6px 12px;border:1px solid #d9d9d9;border-radius:6px;background:#fff;color:#595959;cursor:pointer;font-size:12px;transition:all 0.2s ease}.history-pagination-button:hover:not(:disabled){border-color:#1890ff;color:#1890ff;background:#e6f7ff}.history-pagination-button:disabled{border-color:#f0f0f0;color:#bfbfbf;background:#fafafa;cursor:not-allowed}.history-pagination-info{flex:1;text-align:center;color:#8c8c8c;font-size:12px}";
83
+
84
+ const oemCastModalCss = ":host{--cast-primary:#397ee8;--cast-primary-hover:#2f6fce;--cast-primary-soft:#eef5ff;--cast-text:#111827;--cast-secondary:#8b95a5;--cast-border:#e4e7ec;--cast-surface:#ffffff;display:block;font-family:\"Microsoft YaHei\", \"PingFang SC\", Arial, sans-serif}.cast-overlay{align-items:flex-start}.cast-modal{max-width:980px;max-height:96vh;border:0;border-radius:0;box-shadow:0 16px 44px rgba(31, 40, 58, 0.16)}.cast-modal:not(.fullscreen){height:50vh;min-height:650px}.cast-close-button{position:absolute;top:10px;right:10px;z-index:4}.close-confirm-container,.instructions-confirm-container{position:relative;z-index:100}.instructions-content{color:#7f8793;font-size:13px;line-height:1.75}.instructions-content>p{margin:0}.instructions-content ol{margin:14px 0;padding:0 0 0 22px}.instructions-content li{padding:7px 0 7px 4px;border-top:1px solid #eceef1}.instructions-content li:last-child{border-bottom:1px solid #eceef1}.instructions-content strong,.instructions-content span{display:block}.instructions-content strong{color:#242b36;font-size:14px}.instructions-content .instructions-content-note{color:#9aa1ac}.close-confirm-message{margin-bottom:16px;color:#595959;font-size:16px;line-height:1.5}.cast-scroll-area{flex:1;overflow-y:auto;overscroll-behavior:contain}.cast-content{width:100%;padding:20px;box-sizing:border-box;color:var(--cast-text)}.intro-content{background:var(--cast-surface)}.brand-line{display:flex;align-items:center;gap:9px;color:var(--cast-secondary);font-size:12px;line-height:20px;letter-spacing:0.02em}.brand-dot{width:6px;height:6px;border-radius:50%;background:var(--cast-primary);box-shadow:0 0 0 4px rgba(57, 126, 232, 0.09)}.intro-content h1{margin:17px 0 7px;font-size:21px;line-height:1.4;letter-spacing:0.02em}.intro-description,.privacy-note{margin:0;color:var(--cast-secondary);font-size:13px;line-height:1.75}.dimension-heading{display:flex;align-items:baseline;gap:8px;margin-top:21px;font-size:12px}.dimension-heading strong{color:#111827;font-size:13px}.dimension-heading span{color:#9aa2af}.dimension-grid{display:grid;grid-template-columns:repeat(4, minmax(0, 1fr));gap:11px;margin:17px 0 23px}.dimension-card{position:relative;min-height:101px;padding:15px 11px 12px;overflow:hidden;border:1px solid var(--cast-border);border-top:3px solid var(--dimension-color, var(--cast-primary));border-radius:8px;background:#fff;box-shadow:0 2px 5px rgba(31, 40, 58, 0.08);box-sizing:border-box}.dimension-card:nth-child(1){--dimension-color:#df4038}.dimension-card:nth-child(2){--dimension-color:#dc941b}.dimension-card:nth-child(3){--dimension-color:#397a59}.dimension-card:nth-child(4){--dimension-color:#315880}.dimension-card strong{display:flex;flex-direction:column;gap:2px;color:#202734;font-size:14px;line-height:1.45}.dimension-card strong span{margin:0;color:var(--dimension-color);font-family:Georgia, \"Times New Roman\", serif;font-size:24px;line-height:1}.dimension-card p{margin:5px 0 0;color:var(--cast-secondary);font-size:12px;line-height:1.5}.primary-button{width:100%;min-height:46px;padding:10px 18px;border:0;border-radius:7px;background:var(--cast-primary);box-shadow:0 8px 18px rgba(57, 126, 232, 0.2);color:#fff;font:inherit;font-size:15px;font-weight:600;letter-spacing:0.14em;cursor:pointer;transition:background-color 0.2s, box-shadow 0.2s, transform 0.2s}.primary-button:hover{background:var(--cast-primary-hover);box-shadow:0 10px 22px rgba(57, 126, 232, 0.26)}.primary-button:active{transform:scale(0.99)}.primary-button:focus-visible,.answer-option:focus-visible,.validity-options button:focus-visible,.quiz-footer button:focus-visible,.phase-tabs span:focus-visible{outline:3px solid rgba(63, 127, 240, 0.28);outline-offset:2px}.assessment-notice{padding:16px 15px 13px;border:1px solid #e4e6e9;border-radius:8px;background:#fafafa}.assessment-notice h2{margin:0 0 7px;color:#181d25;font-size:13px;line-height:1.6}.assessment-notice ul{margin:0;padding:0;list-style:none;color:#939ba7;font-size:12px;line-height:1.9}.assessment-notice li{position:relative;padding-left:13px}.assessment-notice li::before{position:absolute;left:1px;content:\"·\";color:#aab0b9}.assessment-notice strong{color:#151a21;font-weight:700}.consent-row{display:flex;align-items:flex-start;gap:9px;margin:18px 0 15px;color:#9aa1ac;font-size:12px;line-height:18px;cursor:pointer}.consent-row input{width:16px;height:16px;margin:1px 0 0;border:1px solid #d9dde3;accent-color:var(--cast-primary);cursor:pointer;flex:0 0 auto}.primary-button:disabled{background:#dedede;box-shadow:none;color:#fff;cursor:not-allowed}.primary-button:disabled:hover{background:#dedede;box-shadow:none}.intro-footer{display:flex;justify-content:space-between;margin-top:10px;color:#99a1ad;font-size:11px;line-height:18px}.quiz-content{padding:27px 20px 24px}.progress-track{height:2px;margin-right:27px;overflow:hidden;background:var(--cast-border)}.progress-track span{display:block;height:100%;background:var(--cast-primary);transition:width 0.25s ease}.question-meta{display:flex;justify-content:space-between;align-items:center;padding:11px 0 13px;border-bottom:1px solid #eceef1;color:#202632;font-size:12px}.question-meta strong{font-size:13px}.question-meta>span{padding:3px 8px;border:1px solid #e5e7eb;color:#202632;line-height:16px}.phase-tabs{display:flex;align-items:center;gap:7px;margin-top:14px}.phase-tabs span,.validity-hint{padding:6px 10px;border:1px solid var(--cast-border);border-radius:0;color:#a2a7af;font-size:12px;line-height:16px}.phase-tabs span{display:inline-flex;align-items:center;gap:4px}.phase-tabs span i{display:inline-flex;width:16px;height:16px;align-items:center;justify-content:center;background:#e5e7eb;color:#fff;font-size:11px;font-style:normal}.phase-tabs span strong{font-weight:600}.phase-tabs>b{color:#aab0ba;font-size:13px;font-weight:400}.phase-tabs span.active{border-color:var(--cast-primary);background:#fff;color:var(--cast-primary)}.phase-tabs span.active i{background:var(--cast-primary)}.phase-tabs span.completed{color:#a2a7af}.validity-hint{display:inline-block;margin-top:14px;border-color:var(--cast-primary);color:var(--cast-primary)}.quiz-content h2{margin:14px 0 14px;font-size:16px;line-height:1.7}.option-list{display:flex;flex-direction:column;gap:8px}.answer-option{width:100%;min-height:47px;display:flex;align-items:center;gap:10px;padding:10px 13px;border:1px solid #dfe1e5;border-radius:8px;background:#fff;box-shadow:0 1px 2px rgba(31, 40, 58, 0.08);color:#4f5662;font:inherit;font-size:13px;line-height:1.7;text-align:left;cursor:pointer;transition:border-color 0.18s, background-color 0.18s, box-shadow 0.18s}.answer-option:hover{border-color:#9dbcf5;background:#fbfdff}.answer-option.selecting-least:hover{border-color:#181818;background:#fff;box-shadow:none}.answer-option.selecting-least:hover::after{flex:0 0 auto;margin-left:auto;padding:2px 7px;background:#181818;color:#fff;content:\"最不符合我\";font-size:11px;line-height:16px;white-space:nowrap}.answer-option.selected-most,.answer-option.selected-most:disabled{border-color:var(--cast-primary);background:var(--cast-primary-soft);box-shadow:0 0 0 1px rgba(63, 127, 240, 0.08);color:#2867d8;cursor:default;opacity:1}.option-letter{flex:0 0 16px;color:#a5aab3;font-family:Georgia, serif}.selected-most .option-letter{color:var(--cast-primary)}.answer-option.selected-least{border-color:#9ba2ad;border-style:dashed;background:#f7f8fa;color:#777f8b}.answer-mark{flex:0 0 auto;margin-left:auto;padding:2px 7px;background:var(--cast-primary);color:#fff;font-size:11px;line-height:16px;white-space:nowrap}.selected-least .answer-mark{background:#8d96a3}.validity-options{display:grid;grid-template-columns:repeat(5, minmax(0, 1fr));gap:7px}.validity-options button{min-height:72px;padding:8px 4px;border:1px solid var(--cast-border);border-radius:8px;background:#fff;color:var(--cast-secondary);font:inherit;font-size:11px;cursor:pointer}.validity-options button:hover,.validity-options button.selected{border-color:var(--cast-primary);background:var(--cast-primary-soft);color:var(--cast-primary)}.validity-options button.selected strong{color:var(--cast-primary)}.validity-options strong,.validity-options span{display:block}.validity-options strong{margin-bottom:8px;color:var(--cast-text);font-size:18px}.quiz-footer{display:flex;justify-content:space-between;align-items:center;margin-top:16px;padding:14px 2px 0;border-top:1px solid #eceef1;color:#acb1ba;font-size:12px;min-height:26px}.quiz-footer button{padding:5px 0;border:0;background:transparent;color:#7e8795;font:inherit;cursor:pointer}.quiz-footer button:disabled{color:#d7dade;cursor:default}.quiz-footer .saved-next-button{color:var(--cast-primary)}.result-content{padding:46px 36px 20px}.result-label{color:#a2a8b2;font-size:12px}.result-content>h1{margin:7px 0 1px;font-size:23px;line-height:1.3}.result-code{margin:0;color:#7f91ad;font-size:12px;font-weight:400}.result-tag{margin:12px 0 18px;padding-bottom:18px;border-bottom:1px solid #e8eaed;color:#949ba6;font-size:13px;line-height:1.8}.score-list{display:grid;gap:15px}.score-row>div:first-child{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:7px;font-size:16px}.score-row>div:first-child strong>span{color:var(--cast-text)}.score-row>div:first-child>span{color:#9097a1;font-size:12px;font-weight:400}.score-track{position:relative;height:4px;border-radius:2px;background:#e9eaec;overflow:hidden}.score-track i{position:absolute;top:0;bottom:0;left:50%;width:1px;z-index:1;background:#bfc4cb}.score-track span{position:absolute;top:0;bottom:0;background:var(--cast-primary)}.job-matches{margin-top:30px}.result-section-label{margin-bottom:7px;color:#a2a8b2;font-size:12px}.job-match-row{display:flex;justify-content:space-between;align-items:center;min-height:40px;border-bottom:1px solid #e8eaed;color:#3f4651;font-size:13px}.job-match-row strong{color:#111722;font-size:13px}.quality-warning{margin:22px 0 0;padding:0;border:0;background:transparent;color:#a0a6af;font-size:12px;line-height:1.7}.quality-warning strong{font-weight:400}.result-content .primary-button{margin-top:26px}@media screen and (max-width: 600px){.cast-overlay{padding:0}.cast-modal{width:100%;min-width:0;margin:0;border-radius:0}.cast-modal.fullscreen{min-height:100%;max-height:100%}.cast-content{padding:46px 20px 24px}.quiz-content{padding-top:27px}.cast-modal.fullscreen .cast-content{min-height:100%}.result-content{padding:46px 20px 20px}.dimension-grid{grid-template-columns:repeat(2, minmax(0, 1fr));gap:9px;margin-top:20px}.dimension-card{min-height:92px;padding:14px 12px 12px}.dimension-card:hover{transform:none}.phase-tabs{gap:5px}.phase-tabs span{padding:6px 7px}.phase-tabs>b{display:none}.validity-options{grid-template-columns:1fr}.validity-options button{min-height:46px;display:flex;align-items:center;gap:12px;padding:8px 14px;text-align:left}.validity-options strong{margin:0}}@media screen and (max-width: 360px){.cast-content{padding-right:16px;padding-left:16px}.dimension-grid{grid-template-columns:1fr}.dimension-card{min-height:76px}.dimension-card strong{flex-direction:row;align-items:baseline;gap:7px}}@media (hover: none){.answer-option.selecting-least:hover{border-color:#dfe1e5;background:#fff;box-shadow:0 1px 2px rgba(31, 40, 58, 0.08)}.answer-option.selecting-least:hover::after{display:none}}@media (prefers-reduced-motion: reduce){.primary-button,.answer-option,.dimension-card,.progress-track span{transition:none}}";
85
+
86
+ const hostCss = ":host{font-size:16px;font-family:-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;font-weight:normal;font-style:normal;font-variant:normal;line-height:1.5;letter-spacing:normal;word-spacing:normal;color:#333;text-align:left;text-indent:0;text-transform:none;white-space:normal;word-wrap:normal;word-break:normal;visibility:visible;list-style:none;list-style-image:none;list-style-position:outside;list-style-type:disc;border-collapse:separate;border-spacing:0;caption-side:top;empty-cells:show;table-layout:auto;quotes:auto;cursor:auto;direction:ltr;orphans:2;widows:2;page-break-inside:auto;text-decoration:none;text-shadow:none;box-sizing:border-box;writing-mode:horizontal-tb;text-orientation:mixed}";
87
+
88
+ const OemCastModal = class {
89
+ constructor(hostRef) {
90
+ registerInstance(this, hostRef);
91
+ this.modalClosed = createEvent(this, "modal-closed");
92
+ this.assessmentComplete = createEvent(this, "assessment-complete");
93
+ }
94
+ /** 是否显示测评模态框。 */
95
+ isOpen = false;
96
+ /** 模态框的页面层级。 */
97
+ zIndex = 1000;
98
+ /** 是否以全屏模式打开,移动端建议设置为 true。 */
99
+ fullscreen = false;
100
+ /** 是否展示右上角关闭按钮。 */
101
+ isNeedClose = true;
102
+ /** 点击关闭按钮时触发。 */
103
+ modalClosed;
104
+ /** 完成全部题目并生成结果时触发,返回测评版本、结果标题、报告 JSON 和答题记录 JSON。 */
105
+ assessmentComplete;
106
+ _screen = 'intro';
107
+ _questionIndex = 0;
108
+ _phase = 1;
109
+ _mostDimension;
110
+ _answers = [];
111
+ _result;
112
+ _showCloseConfirmModal = false;
113
+ _hasAcceptedNotice = false;
114
+ _showInstructions = false;
115
+ _deck = [];
116
+ _questionStartedAt = 0;
117
+ handleIsOpenChange(isOpen) {
118
+ if (isOpen) {
119
+ this._resetAssessment();
120
+ }
121
+ else {
122
+ this._showCloseConfirmModal = false;
123
+ }
124
+ }
125
+ componentWillLoad() {
126
+ configStore.setItem('modal-zIndex', this.zIndex);
127
+ this._resetAssessment();
128
+ }
129
+ _shuffleOptions(question) {
130
+ const options = CAST_DIMENSIONS.map(dimension => ({ dimension, text: question.options[dimension] }));
131
+ for (let index = options.length - 1; index > 0; index--) {
132
+ const randomIndex = Math.floor(Math.random() * (index + 1));
133
+ [options[index], options[randomIndex]] = [options[randomIndex], options[index]];
134
+ }
135
+ return options;
136
+ }
137
+ _createDeck() {
138
+ const deck = [];
139
+ CAST_SITUATION_QUESTIONS.forEach((question, index) => {
140
+ deck.push({ kind: 'situation', scene: question.scene, question: question.question, options: this._shuffleOptions(question) });
141
+ const validityQuestion = CAST_VALIDITY_QUESTIONS.find(item => item.after === index + 1);
142
+ if (validityQuestion) {
143
+ deck.push({ kind: 'validity', id: validityQuestion.id, scene: '作答核查', question: validityQuestion.question });
144
+ }
145
+ });
146
+ return deck;
147
+ }
148
+ _resetAssessment() {
149
+ this._deck = this._createDeck();
150
+ this._screen = 'intro';
151
+ this._questionIndex = 0;
152
+ this._phase = 1;
153
+ this._mostDimension = undefined;
154
+ this._answers = new Array(this._deck.length).fill(undefined);
155
+ this._result = undefined;
156
+ this._hasAcceptedNotice = false;
157
+ this._showInstructions = false;
158
+ this._questionStartedAt = 0;
159
+ }
160
+ _showAssessmentInstructions = () => {
161
+ if (!this._hasAcceptedNotice)
162
+ return;
163
+ this._showInstructions = true;
164
+ };
165
+ _startAssessment = () => {
166
+ this._showInstructions = false;
167
+ this._screen = 'quiz';
168
+ this._questionStartedAt = performance.now();
169
+ };
170
+ _hideAssessmentInstructions = () => {
171
+ this._showInstructions = false;
172
+ };
173
+ _handleClose = () => {
174
+ if (this._screen !== 'quiz') {
175
+ this.modalClosed.emit();
176
+ return;
177
+ }
178
+ this._showCloseConfirmModal = true;
179
+ };
180
+ _handleCloseConfirm = () => {
181
+ this._showCloseConfirmModal = false;
182
+ this.modalClosed.emit();
183
+ };
184
+ _handleCloseCancel = () => {
185
+ this._showCloseConfirmModal = false;
186
+ };
187
+ _selectSituationOption(option) {
188
+ if (this._phase === 1) {
189
+ this._mostDimension = option.dimension;
190
+ this._phase = 2;
191
+ return;
192
+ }
193
+ if (option.dimension === this._mostDimension || !this._mostDimension)
194
+ return;
195
+ this._answers[this._questionIndex] = {
196
+ kind: 'situation',
197
+ most: this._mostDimension,
198
+ least: option.dimension,
199
+ mostIndex: this._getCurrentSituationItem().options.findIndex(item => item.dimension === this._mostDimension),
200
+ duration: performance.now() - this._questionStartedAt,
201
+ };
202
+ this._answers = [...this._answers];
203
+ this._goToNextQuestion();
204
+ }
205
+ _selectValidityOption(value) {
206
+ this._answers[this._questionIndex] = {
207
+ kind: 'validity',
208
+ value,
209
+ duration: performance.now() - this._questionStartedAt,
210
+ };
211
+ this._answers = [...this._answers];
212
+ this._goToNextQuestion();
213
+ }
214
+ _getCurrentSituationItem() {
215
+ return this._deck[this._questionIndex];
216
+ }
217
+ _goToNextQuestion() {
218
+ if (this._questionIndex >= this._deck.length - 1) {
219
+ this._completeAssessment();
220
+ return;
221
+ }
222
+ this._questionIndex += 1;
223
+ this._phase = 1;
224
+ this._mostDimension = undefined;
225
+ this._questionStartedAt = performance.now();
226
+ }
227
+ _goToPreviousQuestion = () => {
228
+ if (this._questionIndex === 0)
229
+ return;
230
+ this._questionIndex -= 1;
231
+ this._phase = 1;
232
+ this._mostDimension = undefined;
233
+ this._questionStartedAt = performance.now();
234
+ };
235
+ _goToSavedNextQuestion = () => {
236
+ if (!this._answers[this._questionIndex])
237
+ return;
238
+ this._goToNextQuestion();
239
+ };
240
+ _getValidityValue(id) {
241
+ const deckIndex = this._deck.findIndex(item => item.kind === 'validity' && item.id === id);
242
+ const answer = this._answers[deckIndex];
243
+ return answer?.kind === 'validity' ? answer.value : 3;
244
+ }
245
+ _calculateCosineSimilarity(values, weights) {
246
+ const dotProduct = values.reduce((total, value, index) => total + value * weights[index], 0);
247
+ const valuesLength = Math.sqrt(values.reduce((total, value) => total + value * value, 0));
248
+ const weightsLength = Math.sqrt(weights.reduce((total, value) => total + value * value, 0));
249
+ return valuesLength && weightsLength ? dotProduct / (valuesLength * weightsLength) : 0;
250
+ }
251
+ _calculateJobMatches(standardScores) {
252
+ const scoreVector = CAST_DIMENSIONS.map(dimension => standardScores[dimension]);
253
+ return CAST_JOB_PROFILES.map(job => {
254
+ const averageWeight = job.weights.reduce((total, weight) => total + weight, 0) / job.weights.length;
255
+ const centeredWeights = job.weights.map(weight => weight - averageWeight);
256
+ const similarity = this._calculateCosineSimilarity(scoreVector, centeredWeights);
257
+ return { name: job.name, percentage: Math.round(((similarity + 1) / 2) * 100) };
258
+ })
259
+ .sort((first, second) => second.percentage - first.percentage)
260
+ .slice(0, 6);
261
+ }
262
+ _calculateResult() {
263
+ const rawScores = { C: 0, A: 0, S: 0, T: 0 };
264
+ const selectedPositions = [];
265
+ let fastAnswerCount = 0;
266
+ let situationCount = 0;
267
+ this._answers.forEach(answer => {
268
+ if (answer?.kind !== 'situation')
269
+ return;
270
+ situationCount += 1;
271
+ rawScores[answer.most] += 2;
272
+ rawScores[answer.least] -= 1;
273
+ selectedPositions.push(answer.mostIndex);
274
+ if (answer.duration < 1500)
275
+ fastAnswerCount += 1;
276
+ });
277
+ const standardScores = CAST_DIMENSIONS.reduce((scores, dimension) => ({ ...scores, [dimension]: (rawScores[dimension] - 7) / 12 }), {});
278
+ const qualityWarnings = [];
279
+ if (fastAnswerCount / situationCount > 0.4)
280
+ qualityWarnings.push(`作答速度偏快(${Math.round((fastAnswerCount / situationCount) * 100)}% 的情境题用时不足 1.5 秒)`);
281
+ let streak = 1;
282
+ let maximumStreak = 1;
283
+ for (let index = 1; index < selectedPositions.length; index++) {
284
+ streak = selectedPositions[index] === selectedPositions[index - 1] ? streak + 1 : 1;
285
+ maximumStreak = Math.max(maximumStreak, streak);
286
+ }
287
+ if (maximumStreak >= 5)
288
+ qualityWarnings.push(`存在连续 ${maximumStreak} 次选择同一位置选项的情况`);
289
+ if (this._getValidityValue('soc') >= 5)
290
+ qualityWarnings.push('社会赞许倾向偏高,结果可能偏理想化');
291
+ if (this._getValidityValue('att') !== 2)
292
+ qualityWarnings.push('注意力检查题未通过');
293
+ if (Math.abs(this._getValidityValue('c1') + this._getValidityValue('c2') - 6) >= 3)
294
+ qualityWarnings.push('一致性题组存在矛盾作答');
295
+ const sortedDimensions = [...CAST_DIMENSIONS].sort((first, second) => standardScores[second] - standardScores[first]);
296
+ const spread = standardScores[sortedDimensions[0]] - standardScores[sortedDimensions[3]];
297
+ let type;
298
+ if (qualityWarnings.length >= 3 || spread < 0.35)
299
+ type = 'LOW';
300
+ else if (spread < 0.75)
301
+ type = 'BAL';
302
+ else if (standardScores[sortedDimensions[0]] - standardScores[sortedDimensions[1]] < 0.5) {
303
+ type = CAST_DIMENSIONS.filter(dimension => dimension === sortedDimensions[0] || dimension === sortedDimensions[1]).join('');
304
+ }
305
+ else
306
+ type = sortedDimensions[0];
307
+ const description = CAST_TYPE_DESCRIPTIONS[type];
308
+ return {
309
+ type,
310
+ name: description.name,
311
+ tag: description.tag,
312
+ strengths: description.strengths,
313
+ cautions: description.cautions,
314
+ advice: description.advice,
315
+ rawScores,
316
+ standardScores,
317
+ jobMatches: this._calculateJobMatches(standardScores),
318
+ qualityWarnings,
319
+ isReferenceOnly: qualityWarnings.length > 0,
320
+ completedAt: new Date().toISOString(),
321
+ };
322
+ }
323
+ _createAnswerRecords() {
324
+ return this._deck.flatMap((item, index) => {
325
+ const answer = this._answers[index];
326
+ if (item.kind === 'situation' && answer?.kind === 'situation') {
327
+ return [{
328
+ kind: 'situation',
329
+ index: index + 1,
330
+ scene: item.scene,
331
+ question: item.question,
332
+ options: item.options.map(option => ({ ...option })),
333
+ most: answer.most,
334
+ least: answer.least,
335
+ mostIndex: answer.mostIndex,
336
+ duration: answer.duration,
337
+ }];
338
+ }
339
+ if (item.kind === 'validity' && answer?.kind === 'validity') {
340
+ return [{
341
+ kind: 'validity',
342
+ index: index + 1,
343
+ id: item.id,
344
+ scene: item.scene,
345
+ question: item.question,
346
+ value: answer.value,
347
+ duration: answer.duration,
348
+ }];
349
+ }
350
+ return [];
351
+ });
352
+ }
353
+ _completeAssessment() {
354
+ const result = this._calculateResult();
355
+ const completeDetail = {
356
+ version: CAST_ASSESSMENT_VERSION,
357
+ resultTitle: result.name,
358
+ reportJson: JSON.stringify(result),
359
+ answerRecordsJson: JSON.stringify(this._createAnswerRecords()),
360
+ };
361
+ this._result = result;
362
+ this._screen = 'result';
363
+ this.assessmentComplete.emit(completeDetail);
364
+ }
365
+ _renderCloseButton() {
366
+ if (!this.isNeedClose)
367
+ return null;
368
+ return (h("button", { class: "close-button cast-close-button", type: "button", "aria-label": "\u5173\u95ED\u6D4B\u8BC4", onClick: this._handleClose }, h("span", { "aria-hidden": "true" }, "\u00D7")));
369
+ }
370
+ _renderIntro() {
371
+ return (h("main", { class: "cast-content intro-content" }, h("div", { class: "brand-line" }, h("span", { class: "brand-dot", "aria-hidden": "true" }), "\u8058\u624D\u732B \u00B7 CAST \u624D\u578B\u6D4B\u8BC4"), h("h1", null, "\u624D\u578B \u00B7 \u804C\u4E1A\u6027\u683C\u6D4B\u8BC4"), h("p", { class: "intro-description" }, "32 \u9053\u9898 / \u7EA6 6 \u5206\u949F\u3002\u6309\u987A\u5E8F\u4F5C\u7B54\uFF0C\u5B8C\u6210\u540E\u7ACB\u5373\u67E5\u770B\u7ED3\u679C\u3002"), h("div", { class: "dimension-heading" }, h("strong", null, "\u6D4B\u8BC4\u7684\u56DB\u4E2A\u7EF4\u5EA6"), h("span", null, "CAST \u6A21\u578B \u00B7 \u4EC5\u4F5C\u8BF4\u660E\uFF0C\u65E0\u9700\u9009\u62E9")), h("div", { class: "dimension-grid" }, CAST_DIMENSIONS.map(dimension => (h("div", { class: "dimension-card" }, h("strong", null, h("span", null, dimension), " ", CAST_DIMENSION_INFO[dimension].name), h("p", null, CAST_DIMENSION_INFO[dimension].drive))))), h("section", { class: "assessment-notice", "aria-labelledby": "cast-assessment-notice-title" }, h("h2", { id: "cast-assessment-notice-title" }, "\u5173\u4E8E\u672C\u6B21\u6D4B\u8BC4"), h("ul", null, h("li", null, h("span", null, "\u6536\u96C6\u5185\u5BB9\uFF1A"), "\u4F60\u7684\u9009\u9879\u3001\u6BCF\u9898\u4F5C\u7B54\u7528\u65F6\u3002\u4E0D\u6536\u96C6\u59D3\u540D\u3001\u8EAB\u4EFD\u8BC1\u53F7\u3001\u8054\u7CFB\u65B9\u5F0F\u3002"), h("li", null, h("span", null, "\u7528\u9014\uFF1A"), "\u751F\u6210\u4E2A\u4EBA\u804C\u4E1A\u98CE\u683C\u62A5\u544A\uFF0C\u5E76\u4F5C\u4E3A\u5C97\u4F4D\u63A8\u8350\u7684\u53C2\u8003\u6743\u91CD\u4E4B\u4E00\u3002"), h("li", null, h("span", null, "\u7ED3\u679C"), h("strong", null, "\u4E0D\u7528\u4E8E\u4EFB\u4F55\u62DB\u8058\u5F55\u7528\u51B3\u7B56"), h("span", null, "\uFF0C\u4E0D\u63D0\u4F9B\u7ED9\u7528\u4EBA\u5355\u4F4D\u3002")), h("li", null, h("span", null, "\u5B58\u50A8\uFF1A"), "\u533F\u540D\u5316\u540E\u4FDD\u7559 12 \u4E2A\u6708\u7528\u4E8E\u5E38\u6A21\u5EFA\u8BBE\uFF0C\u53EF\u968F\u65F6\u7533\u8BF7\u5220\u9664\u3002"), h("li", null, h("span", null, "\u8BF4\u660E\uFF1A"), "\u672C\u6D4B\u8BC4\u9898\u76EE\u3001\u7B97\u6CD5\u3001\u5E38\u6A21\u4E0E\u89E3\u8BFB\u6587\u6848\u5747\u4E3A\u8058\u624D\u732B\u81EA\u4E3B\u7814\u53D1\u3002"))), h("label", { class: "consent-row" }, h("input", { type: "checkbox", checked: this._hasAcceptedNotice, onChange: (event) => { this._hasAcceptedNotice = event.target.checked; } }), h("span", null, "\u6211\u5DF2\u9605\u8BFB\u5E76\u7406\u89E3\u4E0A\u8FF0\u8BF4\u660E\uFF0C\u540C\u610F\u5728\u6B64\u8303\u56F4\u5185\u5904\u7406\u6211\u7684\u4F5C\u7B54\u6570\u636E\u3002")), h("button", { class: "primary-button", type: "button", disabled: !this._hasAcceptedNotice, onClick: this._showAssessmentInstructions }, "\u5F00\u59CB\u6D4B\u8BC4"), h("div", { class: "intro-footer" }, h("span", null, CAST_ASSESSMENT_VERSION.replace('-', ' v')), h("span", null, "32 \u9898 / \u7EA6 6 \u5206\u949F"))));
372
+ }
373
+ _renderSituationOptions(item) {
374
+ const savedAnswer = this._answers[this._questionIndex];
375
+ const savedSituationAnswer = savedAnswer?.kind === 'situation' ? savedAnswer : undefined;
376
+ const displayedMost = this._mostDimension ?? savedSituationAnswer?.most;
377
+ const displayedLeast = this._mostDimension ? undefined : savedSituationAnswer?.least;
378
+ return (h("div", { class: "option-list", role: "group", "aria-label": this._phase === 1 ? '选择最符合你的选项' : '选择最不符合你的选项' }, item.options.map((option, index) => {
379
+ const selectedMost = option.dimension === displayedMost;
380
+ const selectedLeast = option.dimension === displayedLeast;
381
+ return (h("button", { class: {
382
+ 'answer-option': true,
383
+ 'selecting-least': this._phase === 2 && !selectedMost,
384
+ 'selected-most': selectedMost,
385
+ 'selected-least': selectedLeast,
386
+ }, type: "button", disabled: this._phase === 2 && selectedMost, "aria-pressed": selectedMost || selectedLeast ? 'true' : 'false', onClick: () => this._selectSituationOption(option) }, h("span", { class: "option-letter" }, 'ABCD'[index]), h("span", null, option.text), selectedMost && h("span", { class: "answer-mark" }, "\u6700\u7B26\u5408"), selectedLeast && h("span", { class: "answer-mark" }, "\u6700\u4E0D\u7B26\u5408")));
387
+ })));
388
+ }
389
+ _renderValidityOptions() {
390
+ const labels = ['非常不符合', '比较不符合', '一般', '比较符合', '非常符合'];
391
+ const savedAnswer = this._answers[this._questionIndex];
392
+ const savedValue = savedAnswer?.kind === 'validity' ? savedAnswer.value : undefined;
393
+ return (h("div", { class: "validity-options", role: "group", "aria-label": "\u9009\u62E9\u7B26\u5408\u7A0B\u5EA6" }, labels.map((label, index) => (h("button", { class: { selected: savedValue === index + 1 }, type: "button", "aria-pressed": savedValue === index + 1 ? 'true' : 'false', onClick: () => this._selectValidityOption(index + 1) }, h("strong", null, index + 1), h("span", null, label))))));
394
+ }
395
+ _renderQuiz() {
396
+ const item = this._deck[this._questionIndex];
397
+ const progress = (this._questionIndex / this._deck.length) * 100;
398
+ const hasSavedAnswer = Boolean(this._answers[this._questionIndex]);
399
+ return (h("main", { class: "cast-content quiz-content" }, h("div", { class: "progress-track", "aria-hidden": "true" }, h("span", { style: { width: `${progress}%` } })), h("div", { class: "question-meta" }, h("strong", null, "\u7B2C ", String(this._questionIndex + 1).padStart(2, '0'), " \u9898 / \u5171 ", this._deck.length, " \u9898"), h("span", null, "\u60C5\u5883\uFF1A", item.scene)), item.kind === 'situation' ? (h("div", { class: "phase-tabs", "aria-label": "\u5F53\u524D\u9009\u62E9\u6B65\u9AA4" }, h("span", { class: { active: this._phase === 1, completed: this._phase === 2 } }, h("i", null, "1"), "\u9009\u51FA", h("strong", null, "\u6700\u7B26\u5408\u6211"), "\u7684\u4E00\u9879"), h("b", { "aria-hidden": "true" }, "\u2192"), h("span", { class: { active: this._phase === 2 } }, h("i", null, "2"), "\u518D\u9009", h("strong", null, "\u6700\u4E0D\u7B26\u5408\u6211"), "\u7684\u4E00\u9879"))) : h("div", { class: "validity-hint" }, "\u8BF7\u9009\u62E9\u8FD9\u53E5\u8BDD\u7B26\u5408\u4F60\u7684\u7A0B\u5EA6"), h("h2", null, item.question), item.kind === 'situation' ? this._renderSituationOptions(item) : this._renderValidityOptions(), h("div", { class: "quiz-footer" }, h("button", { type: "button", disabled: this._questionIndex === 0, onClick: this._goToPreviousQuestion }, "\u2190 \u4E0A\u4E00\u9898"), hasSavedAnswer && this._phase === 1 ? (h("button", { type: "button", class: "saved-next-button", onClick: this._goToSavedNextQuestion }, "\u4FDD\u7559\u539F\u7B54\u6848\uFF0C\u4E0B\u4E00\u9898 \u2192")) : (h("span", null, item.kind === 'situation' ? (this._phase === 1 ? '先选最符合' : '再选最不符合') : '选择后自动进入下一题')))));
400
+ }
401
+ _renderResult() {
402
+ if (!this._result)
403
+ return null;
404
+ const description = CAST_TYPE_DESCRIPTIONS[this._result.type];
405
+ return (h("main", { class: "cast-content result-content" }, h("div", { class: "result-label" }, "\u4F60\u7684\u624D\u578B"), h("h1", null, description.name), h("p", { class: "result-code" }, this._result.type === 'BAL' || this._result.type === 'LOW' ? 'CAST · 均衡剖面' : `${this._result.type} 型`), h("p", { class: "result-tag" }, description.tag), h("div", { class: "score-list" }, CAST_DIMENSIONS.map(dimension => {
406
+ const score = this._result.standardScores[dimension];
407
+ const width = Math.min(Math.abs(score) / 2.2, 1) * 50;
408
+ return (h("div", { class: `score-row score-${dimension.toLowerCase()}` }, h("div", null, h("strong", null, CAST_DIMENSION_INFO[dimension].name, " ", h("span", null, CAST_DIMENSION_INFO[dimension].englishName)), h("span", null, score >= 0 ? '+' : '', score.toFixed(2))), h("div", { class: "score-track" }, h("i", null), h("span", { style: { left: score >= 0 ? '50%' : `${50 - width}%`, width: `${width}%` } }))));
409
+ })), h("div", { class: "job-matches" }, h("div", { class: "result-section-label" }, "\u5339\u914D\u5C97\u4F4D"), this._result.jobMatches.map(job => (h("div", { class: "job-match-row" }, h("span", null, job.name), h("strong", null, job.percentage, "%"))))), this._result.qualityWarnings.length > 0 && (h("p", { class: "quality-warning" }, h("strong", null, "\u4F5C\u7B54\u63D0\u793A\uFF1A"), this._result.qualityWarnings.join(';'), "\u3002\u672C\u6B21\u7ED3\u679C\u5DF2\u6807\u8BB0\u4E3A\u201C\u53C2\u8003\u201D\uFF0C\u4E0D\u8BA1\u5165\u5E38\u6A21\u6837\u672C\u5E93\u3002")), h("button", { class: "primary-button", type: "button", onClick: () => this._resetAssessment() }, "\u91CD\u65B0\u6D4B\u4E00\u6B21")));
410
+ }
411
+ render() {
412
+ if (!this.isOpen)
413
+ return null;
414
+ return (h("div", { class: { 'modal-overlay': true, 'fullscreen-overlay': this.fullscreen, 'cast-overlay': true }, style: { zIndex: String(this.zIndex) } }, h("div", { class: { 'modal-container': true, fullscreen: this.fullscreen, 'pc-layout': true, 'cast-modal': true } }, this._renderCloseButton(), h("div", { class: "cast-scroll-area" }, this._screen === 'intro' && this._renderIntro(), this._screen === 'quiz' && this._renderQuiz(), this._screen === 'result' && this._renderResult()), h("div", { class: "instructions-confirm-container" }, h("components-confirm-modal", { isOpen: this._showInstructions, modalTitle: "\u6BCF\u9053\u9898\uFF0C\u8BF7\u9009\u4E24\u6B21", okText: "\u77E5\u9053\u4E86\uFF0C\u5F00\u59CB", cancelText: "\u53D6\u6D88", okType: "primary", maskClosable: false, onOk: this._startAssessment, onCancel: this._hideAssessmentInstructions, onClosed: this._hideAssessmentInstructions }, h("div", { class: "instructions-content" }, h("p", null, "\u8FD9\u4E0D\u662F\u5355\u9009\u9898\u3002\u56DB\u4E2A\u9009\u9879\u6CA1\u6709\u5BF9\u9519\uFF0C\u6211\u4EEC\u901A\u8FC7\u201C\u4F60\u6700\u50CF\u54EA\u4E00\u4E2A\u3001\u6700\u4E0D\u50CF\u54EA\u4E00\u4E2A\u201D\u6765\u5B9A\u4F4D\u4F60\u7684\u884C\u4E3A\u98CE\u683C\u3002"), h("ol", null, h("li", null, h("strong", null, "\u5148\u9009\u62E9\u300C\u6700\u7B26\u5408\u6211\u300D\u7684\u4E00\u9879"), h("span", null, "\u8BE5\u9009\u9879\u4F1A\u88AB\u6807\u8BB0\u5E76\u4FDD\u7559\u3002")), h("li", null, h("strong", null, "\u518D\u9009\u62E9\u300C\u6700\u4E0D\u7B26\u5408\u6211\u300D\u7684\u4E00\u9879"), h("span", null, "\u9009\u62E9\u540E\u81EA\u52A8\u8FDB\u5165\u4E0B\u4E00\u9898\uFF0C\u65E0\u9700\u786E\u8BA4\u3002"))), h("p", { class: "instructions-content-note" }, "\u90E8\u5206\u9898\u76EE\u4E3A\u5355\u9009\u7684\u7B26\u5408\u7A0B\u5EA6\u9898\uFF0C\u6309\u63D0\u793A\u9009\u62E9\u5373\u53EF\u3002")))), h("div", { class: "close-confirm-container" }, h("components-confirm-modal", { isOpen: this._showCloseConfirmModal, modalTitle: "\u786E\u8BA4\u5173\u95ED\uFF1F", okText: "\u786E\u8BA4\u5173\u95ED", cancelText: "\u7EE7\u7EED\u6D4B\u8BC4", okType: "danger", maskClosable: false, onOk: this._handleCloseConfirm, onCancel: this._handleCloseCancel, onClosed: this._handleCloseCancel }, h("div", { class: "close-confirm-message" }, "\u5173\u95ED\u540E\u5F53\u524D\u4F5C\u7B54\u8FDB\u5EA6\u548C\u7B54\u6848\u4E0D\u4F1A\u4FDD\u5B58\uFF0C\u786E\u8BA4\u8981\u5173\u95ED\u5417\uFF1F"))))));
415
+ }
416
+ static get watchers() { return {
417
+ "isOpen": ["handleIsOpenChange"]
418
+ }; }
419
+ };
420
+ OemCastModal.style = globalCss + (oemCastModalCss + hostCss);
421
+
422
+ export { OemCastModal as oem_cast_modal };
423
+ //# sourceMappingURL=oem-cast-modal.entry.js.map
424
+
425
+ //# sourceMappingURL=oem-cast-modal.entry.js.map