@tipp/ui 2.8.0 → 2.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (568) hide show
  1. package/dist/app/index.cjs +49 -4
  2. package/dist/app/index.cjs.map +1 -1
  3. package/dist/app/index.js +98 -97
  4. package/dist/app/platform/coach-question-list.cjs +49 -4
  5. package/dist/app/platform/coach-question-list.cjs.map +1 -1
  6. package/dist/app/platform/coach-question-list.js +33 -32
  7. package/dist/app/platform/contents-card.cjs +49 -4
  8. package/dist/app/platform/contents-card.cjs.map +1 -1
  9. package/dist/app/platform/contents-card.js +33 -32
  10. package/dist/app/platform/curriculum-card.cjs +49 -4
  11. package/dist/app/platform/curriculum-card.cjs.map +1 -1
  12. package/dist/app/platform/curriculum-card.js +5 -4
  13. package/dist/app/platform/edit-coaching-time.cjs +49 -4
  14. package/dist/app/platform/edit-coaching-time.cjs.map +1 -1
  15. package/dist/app/platform/edit-coaching-time.js +80 -79
  16. package/dist/app/platform/edit-service-type.cjs +49 -4
  17. package/dist/app/platform/edit-service-type.cjs.map +1 -1
  18. package/dist/app/platform/edit-service-type.js +81 -80
  19. package/dist/app/platform/goal-manage-card-edit.cjs +49 -4
  20. package/dist/app/platform/goal-manage-card-edit.cjs.map +1 -1
  21. package/dist/app/platform/goal-manage-card-edit.js +80 -79
  22. package/dist/app/platform/goal-manage-card-read.cjs +49 -4
  23. package/dist/app/platform/goal-manage-card-read.cjs.map +1 -1
  24. package/dist/app/platform/goal-manage-card-read.js +33 -32
  25. package/dist/app/platform/on-offline-radio-card.cjs +49 -4
  26. package/dist/app/platform/on-offline-radio-card.cjs.map +1 -1
  27. package/dist/app/platform/on-offline-radio-card.js +80 -79
  28. package/dist/app/platform/report-card.cjs +49 -4
  29. package/dist/app/platform/report-card.cjs.map +1 -1
  30. package/dist/app/platform/report-card.js +33 -32
  31. package/dist/app/platform/reservation-card.cjs +49 -4
  32. package/dist/app/platform/reservation-card.cjs.map +1 -1
  33. package/dist/app/platform/reservation-card.js +81 -80
  34. package/dist/app/platform/session-card.cjs +49 -4
  35. package/dist/app/platform/session-card.cjs.map +1 -1
  36. package/dist/app/platform/session-card.js +83 -82
  37. package/dist/app/platform/session-review-simple-read.cjs +49 -4
  38. package/dist/app/platform/session-review-simple-read.cjs.map +1 -1
  39. package/dist/app/platform/session-review-simple-read.js +33 -32
  40. package/dist/app/platform/userInfos/coaching-customer-info/index.cjs +49 -4
  41. package/dist/app/platform/userInfos/coaching-customer-info/index.cjs.map +1 -1
  42. package/dist/app/platform/userInfos/coaching-customer-info/index.js +36 -35
  43. package/dist/app/platform/userInfos/coaching-customer-info/large.cjs +49 -4
  44. package/dist/app/platform/userInfos/coaching-customer-info/large.cjs.map +1 -1
  45. package/dist/app/platform/userInfos/coaching-customer-info/large.js +33 -32
  46. package/dist/app/platform/userInfos/coaching-customer-info/medium.cjs +49 -4
  47. package/dist/app/platform/userInfos/coaching-customer-info/medium.cjs.map +1 -1
  48. package/dist/app/platform/userInfos/coaching-customer-info/medium.js +33 -32
  49. package/dist/app/platform/userInfos/coaching-customer-info/small.cjs +49 -4
  50. package/dist/app/platform/userInfos/coaching-customer-info/small.cjs.map +1 -1
  51. package/dist/app/platform/userInfos/coaching-customer-info/small.js +33 -32
  52. package/dist/app/platform/userInfos/session-user-info-detail.cjs +49 -4
  53. package/dist/app/platform/userInfos/session-user-info-detail.cjs.map +1 -1
  54. package/dist/app/platform/userInfos/session-user-info-detail.js +33 -32
  55. package/dist/app/platform/userInfos/utils.cjs +49 -4
  56. package/dist/app/platform/userInfos/utils.cjs.map +1 -1
  57. package/dist/app/platform/userInfos/utils.js +32 -31
  58. package/dist/app/roleplay/chart/session-chart.cjs +351 -0
  59. package/dist/app/roleplay/chart/session-chart.cjs.map +1 -0
  60. package/dist/app/roleplay/chart/session-chart.d.cts +16 -0
  61. package/dist/app/roleplay/chart/session-chart.d.ts +16 -0
  62. package/dist/app/roleplay/chart/session-chart.js +14 -0
  63. package/dist/app/roleplay/index.cjs +5706 -0
  64. package/dist/app/roleplay/index.cjs.map +1 -0
  65. package/dist/app/roleplay/index.d.cts +4 -0
  66. package/dist/app/roleplay/index.d.ts +4 -0
  67. package/dist/app/roleplay/index.js +182 -0
  68. package/dist/app/roleplay/index.js.map +1 -0
  69. package/dist/app/roleplay/parts/analysis-section.cjs +2178 -0
  70. package/dist/app/roleplay/parts/analysis-section.cjs.map +1 -0
  71. package/dist/app/roleplay/parts/analysis-section.d.cts +17 -0
  72. package/dist/app/roleplay/parts/analysis-section.d.ts +17 -0
  73. package/dist/app/roleplay/parts/analysis-section.js +97 -0
  74. package/dist/app/roleplay/parts/analysis-section.js.map +1 -0
  75. package/dist/app/roleplay/parts/coaching-panel.cjs +2191 -0
  76. package/dist/app/roleplay/parts/coaching-panel.cjs.map +1 -0
  77. package/dist/app/roleplay/parts/coaching-panel.d.cts +8 -0
  78. package/dist/app/roleplay/parts/coaching-panel.d.ts +8 -0
  79. package/dist/app/roleplay/parts/coaching-panel.js +95 -0
  80. package/dist/app/roleplay/parts/coaching-panel.js.map +1 -0
  81. package/dist/app/roleplay/parts/content.cjs +4683 -0
  82. package/dist/app/roleplay/parts/content.cjs.map +1 -0
  83. package/dist/app/roleplay/parts/content.d.cts +15 -0
  84. package/dist/app/roleplay/parts/content.d.ts +15 -0
  85. package/dist/app/roleplay/parts/content.js +174 -0
  86. package/dist/app/roleplay/parts/content.js.map +1 -0
  87. package/dist/app/roleplay/parts/header.cjs +2300 -0
  88. package/dist/app/roleplay/parts/header.cjs.map +1 -0
  89. package/dist/app/roleplay/parts/header.d.cts +13 -0
  90. package/dist/app/roleplay/parts/header.d.ts +13 -0
  91. package/dist/app/roleplay/parts/header.js +96 -0
  92. package/dist/app/roleplay/parts/header.js.map +1 -0
  93. package/dist/app/roleplay/parts/score-summary.cjs +2276 -0
  94. package/dist/app/roleplay/parts/score-summary.cjs.map +1 -0
  95. package/dist/app/roleplay/parts/score-summary.d.cts +12 -0
  96. package/dist/app/roleplay/parts/score-summary.d.ts +12 -0
  97. package/dist/app/roleplay/parts/score-summary.js +96 -0
  98. package/dist/app/roleplay/parts/score-summary.js.map +1 -0
  99. package/dist/app/roleplay/parts/score-trend-section.cjs +3686 -0
  100. package/dist/app/roleplay/parts/score-trend-section.cjs.map +1 -0
  101. package/dist/app/roleplay/parts/score-trend-section.d.cts +14 -0
  102. package/dist/app/roleplay/parts/score-trend-section.d.ts +14 -0
  103. package/dist/app/roleplay/parts/score-trend-section.js +168 -0
  104. package/dist/app/roleplay/parts/score-trend-section.js.map +1 -0
  105. package/dist/app/roleplay/parts/script-transcript.cjs +2288 -0
  106. package/dist/app/roleplay/parts/script-transcript.cjs.map +1 -0
  107. package/dist/app/roleplay/parts/script-transcript.d.cts +15 -0
  108. package/dist/app/roleplay/parts/script-transcript.d.ts +15 -0
  109. package/dist/app/roleplay/parts/script-transcript.js +96 -0
  110. package/dist/app/roleplay/parts/script-transcript.js.map +1 -0
  111. package/dist/app/roleplay/parts/section-nav.cjs +2433 -0
  112. package/dist/app/roleplay/parts/section-nav.cjs.map +1 -0
  113. package/dist/app/roleplay/parts/section-nav.d.cts +15 -0
  114. package/dist/app/roleplay/parts/section-nav.d.ts +15 -0
  115. package/dist/app/roleplay/parts/section-nav.js +96 -0
  116. package/dist/app/roleplay/parts/section-nav.js.map +1 -0
  117. package/dist/app/roleplay/parts/session-replay-dialog.cjs +2598 -0
  118. package/dist/app/roleplay/parts/session-replay-dialog.cjs.map +1 -0
  119. package/dist/app/roleplay/parts/session-replay-dialog.d.cts +14 -0
  120. package/dist/app/roleplay/parts/session-replay-dialog.d.ts +14 -0
  121. package/dist/app/roleplay/parts/session-replay-dialog.js +97 -0
  122. package/dist/app/roleplay/parts/session-replay-dialog.js.map +1 -0
  123. package/dist/app/roleplay/parts/step-detail.cjs +2311 -0
  124. package/dist/app/roleplay/parts/step-detail.cjs.map +1 -0
  125. package/dist/app/roleplay/parts/step-detail.d.cts +9 -0
  126. package/dist/app/roleplay/parts/step-detail.d.ts +9 -0
  127. package/dist/app/roleplay/parts/step-detail.js +96 -0
  128. package/dist/app/roleplay/parts/step-detail.js.map +1 -0
  129. package/dist/app/roleplay/parts/step-radar.cjs +463 -0
  130. package/dist/app/roleplay/parts/step-radar.cjs.map +1 -0
  131. package/dist/app/roleplay/parts/step-radar.d.cts +8 -0
  132. package/dist/app/roleplay/parts/step-radar.d.ts +8 -0
  133. package/dist/app/roleplay/parts/step-radar.js +14 -0
  134. package/dist/app/roleplay/parts/step-radar.js.map +1 -0
  135. package/dist/app/roleplay/parts/step-summary.cjs +2651 -0
  136. package/dist/app/roleplay/parts/step-summary.cjs.map +1 -0
  137. package/dist/app/roleplay/parts/step-summary.d.cts +8 -0
  138. package/dist/app/roleplay/parts/step-summary.d.ts +8 -0
  139. package/dist/app/roleplay/parts/step-summary.js +101 -0
  140. package/dist/app/roleplay/parts/step-summary.js.map +1 -0
  141. package/dist/app/roleplay/rp-session-detail.cjs +5703 -0
  142. package/dist/app/roleplay/rp-session-detail.cjs.map +1 -0
  143. package/dist/app/roleplay/rp-session-detail.d.cts +17 -0
  144. package/dist/app/roleplay/rp-session-detail.d.ts +17 -0
  145. package/dist/app/roleplay/rp-session-detail.js +179 -0
  146. package/dist/app/roleplay/rp-session-detail.js.map +1 -0
  147. package/dist/app/roleplay/types.cjs +19 -0
  148. package/dist/app/roleplay/types.cjs.map +1 -0
  149. package/dist/app/roleplay/types.d.cts +42 -0
  150. package/dist/app/roleplay/types.d.ts +42 -0
  151. package/dist/app/roleplay/types.js +2 -0
  152. package/dist/app/roleplay/types.js.map +1 -0
  153. package/dist/app/roleplay/utils/report-parse.cjs +285 -0
  154. package/dist/app/roleplay/utils/report-parse.cjs.map +1 -0
  155. package/dist/app/roleplay/utils/report-parse.d.cts +57 -0
  156. package/dist/app/roleplay/utils/report-parse.d.ts +57 -0
  157. package/dist/app/roleplay/utils/report-parse.js +8 -0
  158. package/dist/app/roleplay/utils/report-parse.js.map +1 -0
  159. package/dist/app/roleplay/utils/report-parse.test.cjs +491 -0
  160. package/dist/app/roleplay/utils/report-parse.test.cjs.map +1 -0
  161. package/dist/app/roleplay/utils/report-parse.test.d.cts +2 -0
  162. package/dist/app/roleplay/utils/report-parse.test.d.ts +2 -0
  163. package/dist/app/roleplay/utils/report-parse.test.js +237 -0
  164. package/dist/app/roleplay/utils/report-parse.test.js.map +1 -0
  165. package/dist/app/roleplay/utils/session-utils.cjs +204 -0
  166. package/dist/app/roleplay/utils/session-utils.cjs.map +1 -0
  167. package/dist/app/roleplay/utils/session-utils.d.cts +38 -0
  168. package/dist/app/roleplay/utils/session-utils.d.ts +38 -0
  169. package/dist/app/roleplay/utils/session-utils.js +46 -0
  170. package/dist/app/roleplay/utils/session-utils.js.map +1 -0
  171. package/dist/atoms/bullet-text.cjs +29 -2
  172. package/dist/atoms/bullet-text.cjs.map +1 -1
  173. package/dist/atoms/bullet-text.js +3 -2
  174. package/dist/atoms/dialog.cjs +29 -2
  175. package/dist/atoms/dialog.cjs.map +1 -1
  176. package/dist/atoms/dialog.js +3 -2
  177. package/dist/atoms/ellipsis-tooltip.cjs +29 -2
  178. package/dist/atoms/ellipsis-tooltip.cjs.map +1 -1
  179. package/dist/atoms/ellipsis-tooltip.js +3 -2
  180. package/dist/atoms/field-error-wrapper.cjs +29 -2
  181. package/dist/atoms/field-error-wrapper.cjs.map +1 -1
  182. package/dist/atoms/field-error-wrapper.js +3 -2
  183. package/dist/atoms/heading.cjs +29 -2
  184. package/dist/atoms/heading.cjs.map +1 -1
  185. package/dist/atoms/heading.d.cts +2 -0
  186. package/dist/atoms/heading.d.ts +2 -0
  187. package/dist/atoms/heading.js +2 -1
  188. package/dist/atoms/index.cjs +49 -4
  189. package/dist/atoms/index.cjs.map +1 -1
  190. package/dist/atoms/index.js +67 -66
  191. package/dist/atoms/list.cjs +29 -2
  192. package/dist/atoms/list.cjs.map +1 -1
  193. package/dist/atoms/list.js +3 -2
  194. package/dist/atoms/pagination.cjs +29 -2
  195. package/dist/atoms/pagination.cjs.map +1 -1
  196. package/dist/atoms/pagination.js +3 -2
  197. package/dist/atoms/typo.cjs +29 -2
  198. package/dist/atoms/typo.cjs.map +1 -1
  199. package/dist/atoms/typo.d.cts +2 -0
  200. package/dist/atoms/typo.d.ts +2 -0
  201. package/dist/atoms/typo.js +2 -1
  202. package/dist/chunk-2TOASXPK.js +131 -0
  203. package/dist/chunk-2TOASXPK.js.map +1 -0
  204. package/dist/chunk-36W7VD2Z.js +13 -0
  205. package/dist/chunk-36W7VD2Z.js.map +1 -0
  206. package/dist/{chunk-7XMPNH2X.js → chunk-3DZIX4CE.js} +8 -8
  207. package/dist/chunk-3UGBMKSQ.js +166 -0
  208. package/dist/chunk-3UGBMKSQ.js.map +1 -0
  209. package/dist/{chunk-XFFVIWAD.js → chunk-47QYYEMG.js} +2 -2
  210. package/dist/{chunk-VVJEXKCB.js → chunk-4GH4R4VJ.js} +6 -6
  211. package/dist/chunk-4YAA25AV.js +161 -0
  212. package/dist/chunk-4YAA25AV.js.map +1 -0
  213. package/dist/{chunk-MTESLX7K.js → chunk-5IGBFB67.js} +12 -12
  214. package/dist/chunk-5QIT4URV.js +87 -0
  215. package/dist/chunk-5QIT4URV.js.map +1 -0
  216. package/dist/{chunk-LXL7GJUM.js → chunk-5RIAIE2J.js} +3 -3
  217. package/dist/{chunk-R43F6ZWT.js → chunk-64DSUMXA.js} +2 -2
  218. package/dist/{chunk-C2FRAZT2.js → chunk-6OT5OYGM.js} +2 -2
  219. package/dist/chunk-6YIKOYBQ.js +185 -0
  220. package/dist/chunk-6YIKOYBQ.js.map +1 -0
  221. package/dist/{chunk-6Q26H64H.js → chunk-74PR3ZWJ.js} +6 -6
  222. package/dist/{chunk-IA4WXGVH.js → chunk-75EY7LBP.js} +2 -2
  223. package/dist/chunk-7MXY3D3Z.js +84 -0
  224. package/dist/chunk-7MXY3D3Z.js.map +1 -0
  225. package/dist/{chunk-77YN5S26.js → chunk-AELKCD6B.js} +3 -3
  226. package/dist/{chunk-L5WSNVSD.js → chunk-AHYOAFOU.js} +3 -3
  227. package/dist/{chunk-6JPGF4MB.js → chunk-AT5PAJLW.js} +2 -2
  228. package/dist/{chunk-P6YCD2AV.js → chunk-C4INJWFV.js} +9 -9
  229. package/dist/{chunk-SGJBQKUD.js → chunk-C6HO3IGE.js} +2 -2
  230. package/dist/{chunk-7NBGSPZU.js → chunk-CBYIPRND.js} +5 -5
  231. package/dist/{chunk-UIMDXYPP.js → chunk-CGLDFUOY.js} +6 -6
  232. package/dist/{chunk-DUXYDGHX.js → chunk-CUS3ORMD.js} +6 -6
  233. package/dist/{chunk-UILGIMXL.js → chunk-D4U2ZV2A.js} +5 -5
  234. package/dist/{chunk-PRLNOTMV.js → chunk-DPMDQA3O.js} +6 -6
  235. package/dist/chunk-EBFQFOUQ.js +138 -0
  236. package/dist/chunk-EBFQFOUQ.js.map +1 -0
  237. package/dist/chunk-EHDUKUML.js +183 -0
  238. package/dist/chunk-EHDUKUML.js.map +1 -0
  239. package/dist/{chunk-6XASFDTI.js → chunk-EJXZXUD2.js} +15 -15
  240. package/dist/{chunk-QFSMOKC6.js → chunk-FAL6S2XK.js} +2 -2
  241. package/dist/{chunk-GMEGTXIV.js → chunk-FJEDSUGU.js} +5 -5
  242. package/dist/{chunk-WLG6GG26.js → chunk-G3KQN32M.js} +3 -3
  243. package/dist/chunk-GA6W62DO.js +101 -0
  244. package/dist/chunk-GA6W62DO.js.map +1 -0
  245. package/dist/{chunk-72ZC7DBY.js → chunk-GNB4A34H.js} +2 -2
  246. package/dist/{chunk-KEFAYPBO.js → chunk-IRFNKOKQ.js} +4 -4
  247. package/dist/{chunk-5BIICWFT.js → chunk-ISSUGCCY.js} +6 -6
  248. package/dist/{chunk-PZDN6K6R.js → chunk-JCZXPONS.js} +4 -4
  249. package/dist/{chunk-7TRT4QTP.js → chunk-K4RZTENM.js} +2 -2
  250. package/dist/{chunk-Z54XTEAF.js → chunk-KDS7OQOY.js} +2 -2
  251. package/dist/chunk-KJPBBBVK.js +142 -0
  252. package/dist/chunk-KJPBBBVK.js.map +1 -0
  253. package/dist/{chunk-YXFHD2PY.js → chunk-L4QQGIYQ.js} +24 -3
  254. package/dist/chunk-L4QQGIYQ.js.map +1 -0
  255. package/dist/{chunk-YCV3HR4J.js → chunk-LAGJDIVU.js} +2 -2
  256. package/dist/{chunk-3UJEOHQT.js → chunk-LK2H4QTJ.js} +6 -6
  257. package/dist/{chunk-UHAMISMF.js → chunk-LRNO4W2P.js} +4 -4
  258. package/dist/{chunk-5FLPPHUZ.js → chunk-MQKIIIBW.js} +2 -2
  259. package/dist/{chunk-6YPAN4D3.js → chunk-N242VJOP.js} +5 -5
  260. package/dist/{chunk-PWUCBBQP.js → chunk-N3FMP27I.js} +6 -6
  261. package/dist/{chunk-NIMF5FJI.js → chunk-NK6S7ZMB.js} +6 -6
  262. package/dist/chunk-NKW6BO5R.js +264 -0
  263. package/dist/chunk-NKW6BO5R.js.map +1 -0
  264. package/dist/{chunk-IIA2BVJI.js → chunk-NVRVOTWZ.js} +3 -3
  265. package/dist/{chunk-GTTZJ2Y7.js → chunk-O332K3SW.js} +4 -4
  266. package/dist/{chunk-LCR5R743.js → chunk-OOM522XP.js} +2 -2
  267. package/dist/{chunk-FIQJUO66.js → chunk-OPIVSYLN.js} +5 -5
  268. package/dist/{chunk-SQZVLRUH.js → chunk-OUDDTPEN.js} +5 -5
  269. package/dist/chunk-OUP3VFXG.js +1 -0
  270. package/dist/chunk-OUP3VFXG.js.map +1 -0
  271. package/dist/{chunk-URSBI6BQ.js → chunk-OW2QNTK3.js} +3 -3
  272. package/dist/{chunk-GBT2BBZS.js → chunk-P2H3VCIB.js} +3 -3
  273. package/dist/{chunk-TF3RLGKA.js → chunk-P4DJ5F6Z.js} +4 -4
  274. package/dist/{chunk-YWLFDIBP.js → chunk-PAUEQXYG.js} +2 -2
  275. package/dist/{chunk-XOCVP6IW.js → chunk-Q2FDF2AB.js} +8 -8
  276. package/dist/{chunk-VFWRW7TA.js → chunk-QLNAAZJX.js} +2 -2
  277. package/dist/{chunk-C5CEDLV6.js → chunk-QLOYGKKM.js} +2 -2
  278. package/dist/chunk-QMAINJ4G.js +190 -0
  279. package/dist/chunk-QMAINJ4G.js.map +1 -0
  280. package/dist/{chunk-DDYPJWZV.js → chunk-RBU2TRYY.js} +10 -10
  281. package/dist/{chunk-FFGGO6E4.js → chunk-RRC4WFG3.js} +2 -2
  282. package/dist/{chunk-5SXTL6NO.js → chunk-RWJUXAFY.js} +2 -2
  283. package/dist/{chunk-BZVA4RGI.js → chunk-S4MEMFKG.js} +2 -2
  284. package/dist/{chunk-PTUL6MDB.js → chunk-SINRU2A6.js} +2 -2
  285. package/dist/{chunk-UA2HDDD4.js → chunk-SOKGYD5B.js} +6 -6
  286. package/dist/{chunk-BZCUF5K6.js → chunk-SQ3FYBJT.js} +5 -5
  287. package/dist/chunk-T7LKMJVA.js +142 -0
  288. package/dist/chunk-T7LKMJVA.js.map +1 -0
  289. package/dist/chunk-TFJJKM3W.js +261 -0
  290. package/dist/chunk-TFJJKM3W.js.map +1 -0
  291. package/dist/{chunk-5FXPD4NE.js → chunk-U2EAXN3Y.js} +7 -7
  292. package/dist/{chunk-B7SKF5RD.js → chunk-U7HF53KK.js} +4 -4
  293. package/dist/{chunk-YIVIBIK2.js → chunk-USGOLLYO.js} +24 -3
  294. package/dist/chunk-USGOLLYO.js.map +1 -0
  295. package/dist/{chunk-Z2U2YQOG.js → chunk-USL6PICI.js} +2 -2
  296. package/dist/chunk-UXAEOCOH.js +150 -0
  297. package/dist/chunk-UXAEOCOH.js.map +1 -0
  298. package/dist/{chunk-DHP7LYK7.js → chunk-UXH2XIB2.js} +2 -2
  299. package/dist/{chunk-U5LZO2EI.js → chunk-V7KAHLW2.js} +6 -6
  300. package/dist/{chunk-VYUQXEXS.js → chunk-VBXZIIUA.js} +5 -5
  301. package/dist/{chunk-IYAN33WP.js → chunk-VVWQZK5L.js} +3 -3
  302. package/dist/{chunk-DBXQFZBB.js → chunk-WLKK5L3P.js} +8 -8
  303. package/dist/chunk-WTS75RUC.js +1 -0
  304. package/dist/chunk-WTS75RUC.js.map +1 -0
  305. package/dist/{chunk-ANFQJ6YW.js → chunk-WYHDQK2S.js} +9 -9
  306. package/dist/{chunk-RVHE3UVN.js → chunk-X3TBEGPA.js} +6 -6
  307. package/dist/chunk-XM4GWPXC.js +236 -0
  308. package/dist/chunk-XM4GWPXC.js.map +1 -0
  309. package/dist/{chunk-AEDSRBBB.js → chunk-XWHBJY5V.js} +3 -3
  310. package/dist/{chunk-SHFN2BOB.js → chunk-ZGTGEBQX.js} +2 -2
  311. package/dist/context/dynamic-form-context.cjs +49 -4
  312. package/dist/context/dynamic-form-context.cjs.map +1 -1
  313. package/dist/context/dynamic-form-context.js +5 -4
  314. package/dist/context/index.cjs +49 -4
  315. package/dist/context/index.cjs.map +1 -1
  316. package/dist/context/index.js +5 -4
  317. package/dist/index.cjs +51 -4
  318. package/dist/index.cjs.map +1 -1
  319. package/dist/index.css +76 -0
  320. package/dist/index.d.cts +1 -0
  321. package/dist/index.d.ts +1 -0
  322. package/dist/index.js +161 -157
  323. package/dist/molecules/autocomplete-textfield.cjs +29 -2
  324. package/dist/molecules/autocomplete-textfield.cjs.map +1 -1
  325. package/dist/molecules/autocomplete-textfield.js +3 -2
  326. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/index.cjs +49 -4
  327. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/index.cjs.map +1 -1
  328. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/index.js +14 -13
  329. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-comp.cjs +29 -2
  330. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-comp.cjs.map +1 -1
  331. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-comp.js +3 -2
  332. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-body.cjs +29 -2
  333. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-body.cjs.map +1 -1
  334. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-body.js +10 -9
  335. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-header.cjs +49 -4
  336. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-header.cjs.map +1 -1
  337. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-header.js +4 -3
  338. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-radio.cjs +29 -2
  339. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-radio.cjs.map +1 -1
  340. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-radio.js +5 -4
  341. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-satisfaction-option.cjs +29 -2
  342. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-satisfaction-option.cjs.map +1 -1
  343. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-satisfaction-option.js +5 -4
  344. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-satisfaction-text.cjs +29 -2
  345. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-satisfaction-text.cjs.map +1 -1
  346. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-satisfaction-text.js +5 -4
  347. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-text.cjs +29 -2
  348. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-text.cjs.map +1 -1
  349. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-text.js +6 -5
  350. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/complete-review.cjs +49 -4
  351. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/complete-review.cjs.map +1 -1
  352. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/complete-review.js +4 -3
  353. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/index.cjs +49 -4
  354. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/index.cjs.map +1 -1
  355. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/index.js +18 -17
  356. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/start-review.cjs +49 -4
  357. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/start-review.cjs.map +1 -1
  358. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/start-review.js +5 -4
  359. package/dist/molecules/curriculumV2/CurriculumContents/curriculum-ai-traning.cjs +29 -2
  360. package/dist/molecules/curriculumV2/CurriculumContents/curriculum-ai-traning.cjs.map +1 -1
  361. package/dist/molecules/curriculumV2/CurriculumContents/curriculum-ai-traning.js +3 -2
  362. package/dist/molecules/curriculumV2/CurriculumContents/curriculum-file-download.cjs +29 -2
  363. package/dist/molecules/curriculumV2/CurriculumContents/curriculum-file-download.cjs.map +1 -1
  364. package/dist/molecules/curriculumV2/CurriculumContents/curriculum-file-download.js +3 -2
  365. package/dist/molecules/curriculumV2/CurriculumContents/curriculum-review.cjs +49 -4
  366. package/dist/molecules/curriculumV2/CurriculumContents/curriculum-review.cjs.map +1 -1
  367. package/dist/molecules/curriculumV2/CurriculumContents/curriculum-review.js +20 -19
  368. package/dist/molecules/curriculumV2/CurriculumContents/index.cjs +49 -4
  369. package/dist/molecules/curriculumV2/CurriculumContents/index.cjs.map +1 -1
  370. package/dist/molecules/curriculumV2/CurriculumContents/index.js +23 -22
  371. package/dist/molecules/curriculumV2/CurriculumSidebar/Items/curriculum-item-title.cjs +29 -2
  372. package/dist/molecules/curriculumV2/CurriculumSidebar/Items/curriculum-item-title.cjs.map +1 -1
  373. package/dist/molecules/curriculumV2/CurriculumSidebar/Items/curriculum-item-title.js +3 -2
  374. package/dist/molecules/curriculumV2/CurriculumSidebar/Items/section-item.cjs +29 -2
  375. package/dist/molecules/curriculumV2/CurriculumSidebar/Items/section-item.cjs.map +1 -1
  376. package/dist/molecules/curriculumV2/CurriculumSidebar/Items/section-item.js +4 -3
  377. package/dist/molecules/curriculumV2/CurriculumSidebar/Items/section-title.cjs +29 -2
  378. package/dist/molecules/curriculumV2/CurriculumSidebar/Items/section-title.cjs.map +1 -1
  379. package/dist/molecules/curriculumV2/CurriculumSidebar/Items/section-title.js +3 -2
  380. package/dist/molecules/curriculumV2/CurriculumSidebar/index.cjs +29 -2
  381. package/dist/molecules/curriculumV2/CurriculumSidebar/index.cjs.map +1 -1
  382. package/dist/molecules/curriculumV2/CurriculumSidebar/index.js +8 -7
  383. package/dist/molecules/curriculumV2/CurriculumSidebar/sidebar-item.cjs +29 -2
  384. package/dist/molecules/curriculumV2/CurriculumSidebar/sidebar-item.cjs.map +1 -1
  385. package/dist/molecules/curriculumV2/CurriculumSidebar/sidebar-item.js +6 -5
  386. package/dist/molecules/curriculumV2/curriculum-sub-nav.cjs +49 -4
  387. package/dist/molecules/curriculumV2/curriculum-sub-nav.cjs.map +1 -1
  388. package/dist/molecules/curriculumV2/curriculum-sub-nav.js +4 -3
  389. package/dist/molecules/curriculumV2/index.cjs +49 -4
  390. package/dist/molecules/curriculumV2/index.cjs.map +1 -1
  391. package/dist/molecules/curriculumV2/index.js +33 -32
  392. package/dist/molecules/date-picker/date-picker-button.cjs +49 -4
  393. package/dist/molecules/date-picker/date-picker-button.cjs.map +1 -1
  394. package/dist/molecules/date-picker/date-picker-button.js +5 -4
  395. package/dist/molecules/date-picker/index.cjs +49 -4
  396. package/dist/molecules/date-picker/index.cjs.map +1 -1
  397. package/dist/molecules/date-picker/index.js +4 -3
  398. package/dist/molecules/description-json-render.cjs +29 -2
  399. package/dist/molecules/description-json-render.cjs.map +1 -1
  400. package/dist/molecules/description-json-render.js +5 -4
  401. package/dist/molecules/download-card.cjs +29 -2
  402. package/dist/molecules/download-card.cjs.map +1 -1
  403. package/dist/molecules/download-card.js +3 -2
  404. package/dist/molecules/dynamic-field.cjs +49 -4
  405. package/dist/molecules/dynamic-field.cjs.map +1 -1
  406. package/dist/molecules/dynamic-field.js +7 -6
  407. package/dist/molecules/dynamic-form-editor-field-editor-panel.cjs +29 -2
  408. package/dist/molecules/dynamic-form-editor-field-editor-panel.cjs.map +1 -1
  409. package/dist/molecules/dynamic-form-editor-field-editor-panel.js +5 -4
  410. package/dist/molecules/dynamic-form-editor-field-list-panel.cjs +29 -2
  411. package/dist/molecules/dynamic-form-editor-field-list-panel.cjs.map +1 -1
  412. package/dist/molecules/dynamic-form-editor-field-list-panel.js +4 -3
  413. package/dist/molecules/dynamic-form-editor-issues-panel.cjs +29 -2
  414. package/dist/molecules/dynamic-form-editor-issues-panel.cjs.map +1 -1
  415. package/dist/molecules/dynamic-form-editor-issues-panel.js +4 -3
  416. package/dist/molecules/dynamic-form-editor-preview-panel.cjs +49 -4
  417. package/dist/molecules/dynamic-form-editor-preview-panel.cjs.map +1 -1
  418. package/dist/molecules/dynamic-form-editor-preview-panel.js +10 -9
  419. package/dist/molecules/dynamic-form-editor.cjs +49 -4
  420. package/dist/molecules/dynamic-form-editor.cjs.map +1 -1
  421. package/dist/molecules/dynamic-form-editor.js +16 -15
  422. package/dist/molecules/dynamic-form.cjs +49 -4
  423. package/dist/molecules/dynamic-form.cjs.map +1 -1
  424. package/dist/molecules/dynamic-form.js +8 -7
  425. package/dist/molecules/expand-table/index.cjs +29 -2
  426. package/dist/molecules/expand-table/index.cjs.map +1 -1
  427. package/dist/molecules/expand-table/index.js +5 -4
  428. package/dist/molecules/force-refresh.cjs +29 -2
  429. package/dist/molecules/force-refresh.cjs.map +1 -1
  430. package/dist/molecules/force-refresh.js +3 -2
  431. package/dist/molecules/form/form.cjs +49 -4
  432. package/dist/molecules/form/form.cjs.map +1 -1
  433. package/dist/molecules/form/form.js +4 -3
  434. package/dist/molecules/form/index.cjs +49 -4
  435. package/dist/molecules/form/index.cjs.map +1 -1
  436. package/dist/molecules/form/index.js +4 -3
  437. package/dist/molecules/ghost-post.cjs +29 -2
  438. package/dist/molecules/ghost-post.cjs.map +1 -1
  439. package/dist/molecules/ghost-post.js +3 -2
  440. package/dist/molecules/index.cjs +49 -4
  441. package/dist/molecules/index.cjs.map +1 -1
  442. package/dist/molecules/index.js +76 -75
  443. package/dist/molecules/learning-post.cjs +49 -4
  444. package/dist/molecules/learning-post.cjs.map +1 -1
  445. package/dist/molecules/learning-post.js +6 -5
  446. package/dist/molecules/navigation.cjs +29 -2
  447. package/dist/molecules/navigation.cjs.map +1 -1
  448. package/dist/molecules/navigation.js +3 -2
  449. package/dist/molecules/one-on-one-guide-list.cjs +49 -4
  450. package/dist/molecules/one-on-one-guide-list.cjs.map +1 -1
  451. package/dist/molecules/one-on-one-guide-list.js +5 -4
  452. package/dist/molecules/stepper.cjs +29 -2
  453. package/dist/molecules/stepper.cjs.map +1 -1
  454. package/dist/molecules/stepper.js +4 -3
  455. package/dist/molecules/tag-selector.cjs +29 -2
  456. package/dist/molecules/tag-selector.cjs.map +1 -1
  457. package/dist/molecules/tag-selector.js +5 -4
  458. package/dist/molecules/time-select.js +3 -2
  459. package/dist/molecules/training-info-guideline.cjs +49 -4
  460. package/dist/molecules/training-info-guideline.cjs.map +1 -1
  461. package/dist/molecules/training-info-guideline.js +6 -5
  462. package/dist/utils/clamp-style.cjs +37 -0
  463. package/dist/utils/clamp-style.cjs.map +1 -0
  464. package/dist/utils/clamp-style.d.cts +13 -0
  465. package/dist/utils/clamp-style.d.ts +13 -0
  466. package/dist/utils/clamp-style.js +8 -0
  467. package/dist/utils/clamp-style.js.map +1 -0
  468. package/dist/utils/index.cjs +11 -0
  469. package/dist/utils/index.cjs.map +1 -1
  470. package/dist/utils/index.d.cts +1 -0
  471. package/dist/utils/index.d.ts +1 -0
  472. package/dist/utils/index.js +10 -6
  473. package/package.json +28 -2
  474. package/src/app/roleplay/chart/session-chart.tsx +185 -0
  475. package/src/app/roleplay/index.ts +8 -0
  476. package/src/app/roleplay/parts/analysis-section.tsx +98 -0
  477. package/src/app/roleplay/parts/coaching-panel.tsx +101 -0
  478. package/src/app/roleplay/parts/content.tsx +146 -0
  479. package/src/app/roleplay/parts/header.tsx +168 -0
  480. package/src/app/roleplay/parts/score-summary.tsx +158 -0
  481. package/src/app/roleplay/parts/score-trend-section.tsx +255 -0
  482. package/src/app/roleplay/parts/script-transcript.tsx +190 -0
  483. package/src/app/roleplay/parts/section-nav.tsx +299 -0
  484. package/src/app/roleplay/parts/session-replay-dialog.tsx +168 -0
  485. package/src/app/roleplay/parts/step-detail.tsx +173 -0
  486. package/src/app/roleplay/parts/step-radar.tsx +80 -0
  487. package/src/app/roleplay/parts/step-summary.tsx +149 -0
  488. package/src/app/roleplay/rp-session-detail.tsx +176 -0
  489. package/src/app/roleplay/types.ts +61 -0
  490. package/src/app/roleplay/utils/report-parse.test.ts +268 -0
  491. package/src/app/roleplay/utils/report-parse.ts +443 -0
  492. package/src/app/roleplay/utils/session-utils.ts +215 -0
  493. package/src/atoms/heading.tsx +19 -3
  494. package/src/atoms/typo.tsx +19 -3
  495. package/src/constrant/trainingLog.dummy.json +1 -0
  496. package/src/utils/clamp-style.ts +17 -0
  497. package/src/utils/index.ts +2 -1
  498. package/dist/chunk-U7PMCTVQ.js +0 -1
  499. package/dist/chunk-YIVIBIK2.js.map +0 -1
  500. package/dist/chunk-YXFHD2PY.js.map +0 -1
  501. /package/dist/{chunk-U7PMCTVQ.js.map → app/roleplay/chart/session-chart.js.map} +0 -0
  502. /package/dist/{chunk-7XMPNH2X.js.map → chunk-3DZIX4CE.js.map} +0 -0
  503. /package/dist/{chunk-XFFVIWAD.js.map → chunk-47QYYEMG.js.map} +0 -0
  504. /package/dist/{chunk-VVJEXKCB.js.map → chunk-4GH4R4VJ.js.map} +0 -0
  505. /package/dist/{chunk-MTESLX7K.js.map → chunk-5IGBFB67.js.map} +0 -0
  506. /package/dist/{chunk-LXL7GJUM.js.map → chunk-5RIAIE2J.js.map} +0 -0
  507. /package/dist/{chunk-R43F6ZWT.js.map → chunk-64DSUMXA.js.map} +0 -0
  508. /package/dist/{chunk-C2FRAZT2.js.map → chunk-6OT5OYGM.js.map} +0 -0
  509. /package/dist/{chunk-6Q26H64H.js.map → chunk-74PR3ZWJ.js.map} +0 -0
  510. /package/dist/{chunk-IA4WXGVH.js.map → chunk-75EY7LBP.js.map} +0 -0
  511. /package/dist/{chunk-77YN5S26.js.map → chunk-AELKCD6B.js.map} +0 -0
  512. /package/dist/{chunk-L5WSNVSD.js.map → chunk-AHYOAFOU.js.map} +0 -0
  513. /package/dist/{chunk-6JPGF4MB.js.map → chunk-AT5PAJLW.js.map} +0 -0
  514. /package/dist/{chunk-P6YCD2AV.js.map → chunk-C4INJWFV.js.map} +0 -0
  515. /package/dist/{chunk-SGJBQKUD.js.map → chunk-C6HO3IGE.js.map} +0 -0
  516. /package/dist/{chunk-7NBGSPZU.js.map → chunk-CBYIPRND.js.map} +0 -0
  517. /package/dist/{chunk-UIMDXYPP.js.map → chunk-CGLDFUOY.js.map} +0 -0
  518. /package/dist/{chunk-DUXYDGHX.js.map → chunk-CUS3ORMD.js.map} +0 -0
  519. /package/dist/{chunk-UILGIMXL.js.map → chunk-D4U2ZV2A.js.map} +0 -0
  520. /package/dist/{chunk-PRLNOTMV.js.map → chunk-DPMDQA3O.js.map} +0 -0
  521. /package/dist/{chunk-6XASFDTI.js.map → chunk-EJXZXUD2.js.map} +0 -0
  522. /package/dist/{chunk-QFSMOKC6.js.map → chunk-FAL6S2XK.js.map} +0 -0
  523. /package/dist/{chunk-GMEGTXIV.js.map → chunk-FJEDSUGU.js.map} +0 -0
  524. /package/dist/{chunk-WLG6GG26.js.map → chunk-G3KQN32M.js.map} +0 -0
  525. /package/dist/{chunk-72ZC7DBY.js.map → chunk-GNB4A34H.js.map} +0 -0
  526. /package/dist/{chunk-KEFAYPBO.js.map → chunk-IRFNKOKQ.js.map} +0 -0
  527. /package/dist/{chunk-5BIICWFT.js.map → chunk-ISSUGCCY.js.map} +0 -0
  528. /package/dist/{chunk-PZDN6K6R.js.map → chunk-JCZXPONS.js.map} +0 -0
  529. /package/dist/{chunk-7TRT4QTP.js.map → chunk-K4RZTENM.js.map} +0 -0
  530. /package/dist/{chunk-Z54XTEAF.js.map → chunk-KDS7OQOY.js.map} +0 -0
  531. /package/dist/{chunk-YCV3HR4J.js.map → chunk-LAGJDIVU.js.map} +0 -0
  532. /package/dist/{chunk-3UJEOHQT.js.map → chunk-LK2H4QTJ.js.map} +0 -0
  533. /package/dist/{chunk-UHAMISMF.js.map → chunk-LRNO4W2P.js.map} +0 -0
  534. /package/dist/{chunk-5FLPPHUZ.js.map → chunk-MQKIIIBW.js.map} +0 -0
  535. /package/dist/{chunk-6YPAN4D3.js.map → chunk-N242VJOP.js.map} +0 -0
  536. /package/dist/{chunk-PWUCBBQP.js.map → chunk-N3FMP27I.js.map} +0 -0
  537. /package/dist/{chunk-NIMF5FJI.js.map → chunk-NK6S7ZMB.js.map} +0 -0
  538. /package/dist/{chunk-IIA2BVJI.js.map → chunk-NVRVOTWZ.js.map} +0 -0
  539. /package/dist/{chunk-GTTZJ2Y7.js.map → chunk-O332K3SW.js.map} +0 -0
  540. /package/dist/{chunk-LCR5R743.js.map → chunk-OOM522XP.js.map} +0 -0
  541. /package/dist/{chunk-FIQJUO66.js.map → chunk-OPIVSYLN.js.map} +0 -0
  542. /package/dist/{chunk-SQZVLRUH.js.map → chunk-OUDDTPEN.js.map} +0 -0
  543. /package/dist/{chunk-URSBI6BQ.js.map → chunk-OW2QNTK3.js.map} +0 -0
  544. /package/dist/{chunk-GBT2BBZS.js.map → chunk-P2H3VCIB.js.map} +0 -0
  545. /package/dist/{chunk-TF3RLGKA.js.map → chunk-P4DJ5F6Z.js.map} +0 -0
  546. /package/dist/{chunk-YWLFDIBP.js.map → chunk-PAUEQXYG.js.map} +0 -0
  547. /package/dist/{chunk-XOCVP6IW.js.map → chunk-Q2FDF2AB.js.map} +0 -0
  548. /package/dist/{chunk-VFWRW7TA.js.map → chunk-QLNAAZJX.js.map} +0 -0
  549. /package/dist/{chunk-C5CEDLV6.js.map → chunk-QLOYGKKM.js.map} +0 -0
  550. /package/dist/{chunk-DDYPJWZV.js.map → chunk-RBU2TRYY.js.map} +0 -0
  551. /package/dist/{chunk-FFGGO6E4.js.map → chunk-RRC4WFG3.js.map} +0 -0
  552. /package/dist/{chunk-5SXTL6NO.js.map → chunk-RWJUXAFY.js.map} +0 -0
  553. /package/dist/{chunk-BZVA4RGI.js.map → chunk-S4MEMFKG.js.map} +0 -0
  554. /package/dist/{chunk-PTUL6MDB.js.map → chunk-SINRU2A6.js.map} +0 -0
  555. /package/dist/{chunk-UA2HDDD4.js.map → chunk-SOKGYD5B.js.map} +0 -0
  556. /package/dist/{chunk-BZCUF5K6.js.map → chunk-SQ3FYBJT.js.map} +0 -0
  557. /package/dist/{chunk-5FXPD4NE.js.map → chunk-U2EAXN3Y.js.map} +0 -0
  558. /package/dist/{chunk-B7SKF5RD.js.map → chunk-U7HF53KK.js.map} +0 -0
  559. /package/dist/{chunk-Z2U2YQOG.js.map → chunk-USL6PICI.js.map} +0 -0
  560. /package/dist/{chunk-DHP7LYK7.js.map → chunk-UXH2XIB2.js.map} +0 -0
  561. /package/dist/{chunk-U5LZO2EI.js.map → chunk-V7KAHLW2.js.map} +0 -0
  562. /package/dist/{chunk-VYUQXEXS.js.map → chunk-VBXZIIUA.js.map} +0 -0
  563. /package/dist/{chunk-IYAN33WP.js.map → chunk-VVWQZK5L.js.map} +0 -0
  564. /package/dist/{chunk-DBXQFZBB.js.map → chunk-WLKK5L3P.js.map} +0 -0
  565. /package/dist/{chunk-ANFQJ6YW.js.map → chunk-WYHDQK2S.js.map} +0 -0
  566. /package/dist/{chunk-RVHE3UVN.js.map → chunk-X3TBEGPA.js.map} +0 -0
  567. /package/dist/{chunk-AEDSRBBB.js.map → chunk-XWHBJY5V.js.map} +0 -0
  568. /package/dist/{chunk-SHFN2BOB.js.map → chunk-ZGTGEBQX.js.map} +0 -0
@@ -0,0 +1,255 @@
1
+ 'use client';
2
+
3
+ import React, { useMemo } from 'react';
4
+ import type { EChartsOption } from 'echarts';
5
+ import { Box, Flex, Heading, Typo } from '../../../atoms';
6
+ import {
7
+ ExpandTable,
8
+ createColumnHelper,
9
+ type ColumnDef,
10
+ type Row,
11
+ } from '../../../molecules';
12
+ import { Chart, useTokenColors } from '../chart/session-chart';
13
+ import type { RpSessionHistoryItem } from '../types';
14
+ import { formatDate } from '../utils/session-utils';
15
+
16
+ /* ───────────────────────── Section ───────────────────────── */
17
+
18
+ export function Section({
19
+ title,
20
+ desc,
21
+ children,
22
+ }: {
23
+ title: string;
24
+ desc?: string;
25
+ children: React.ReactNode;
26
+ }): React.ReactElement {
27
+ return (
28
+ <section>
29
+ <Box mb="3">
30
+ <Heading
31
+ size={{ initial: '4', md: '5' }}
32
+ style={{ textWrap: 'balance' }}
33
+ weight="bold"
34
+ >
35
+ {title}
36
+ </Heading>
37
+ {desc ? (
38
+ <Box mt="1" style={{ maxWidth: '65ch' }}>
39
+ <Typo as="p" color="gray" variant="body">
40
+ {desc}
41
+ </Typo>
42
+ </Box>
43
+ ) : null}
44
+ </Box>
45
+ {children}
46
+ </section>
47
+ );
48
+ }
49
+
50
+ /* ───────────────────────── 타입 ───────────────────────── */
51
+
52
+ type TrendRow = RpSessionHistoryItem & {
53
+ delta: number | null;
54
+ isCurrent: boolean;
55
+ };
56
+
57
+ /* ───────────────────────── 테이블 셀 컴포넌트 ───────────────────────── */
58
+
59
+ function AttemptCell({ row }: { row: Row<TrendRow> }): React.ReactElement {
60
+ const d = row.original;
61
+ return (
62
+ <Typo
63
+ as="span"
64
+ style={{ color: d.isCurrent ? 'var(--gray-12)' : 'var(--gray-11)' }}
65
+ variant="body"
66
+ weight={d.isCurrent ? 'bold' : 'regular'}
67
+ >
68
+ {d.trainingSessionNum}회차{d.isCurrent ? ' (현재)' : null}
69
+ </Typo>
70
+ );
71
+ }
72
+
73
+ function DateCell({ row }: { row: Row<TrendRow> }): React.ReactElement {
74
+ return (
75
+ <Typo as="span" mono style={{ color: 'var(--gray-9)' }} variant="body">
76
+ {formatDate(row.original.createdAt)}
77
+ </Typo>
78
+ );
79
+ }
80
+
81
+ function ScoreCell({ row }: { row: Row<TrendRow> }): React.ReactElement {
82
+ return (
83
+ <Typo
84
+ as="span"
85
+ mono
86
+ variant="body"
87
+ weight={row.original.isCurrent ? 'bold' : 'regular'}
88
+ >
89
+ {row.original.totalScore ?? '—'}
90
+ </Typo>
91
+ );
92
+ }
93
+
94
+ function DeltaCell({ row }: { row: Row<TrendRow> }): React.ReactElement {
95
+ const { delta } = row.original;
96
+ if (delta === null) {
97
+ return (
98
+ <Typo as="span" mono style={{ color: 'var(--gray-9)' }} variant="body">
99
+
100
+ </Typo>
101
+ );
102
+ }
103
+ return (
104
+ <Typo as="span" mono style={{ color: 'var(--gray-9)' }} variant="body">
105
+ {delta > 0 ? `+${delta}` : `${delta}`}
106
+ </Typo>
107
+ );
108
+ }
109
+
110
+ /* ───────────────────────── ScoreTrendSection ───────────────────────── */
111
+
112
+ export interface ScoreTrendSectionProps {
113
+ history: RpSessionHistoryItem[];
114
+ }
115
+
116
+ export function ScoreTrendSection({
117
+ history,
118
+ }: ScoreTrendSectionProps): React.ReactElement {
119
+ const { colors, probe } = useTokenColors({
120
+ accent: ['--accent-9', '#5b5bd6'],
121
+ accentText: ['--accent-11', '#5753c6'],
122
+ grid: ['--gray-5', '#e0e0e0'],
123
+ gridSoft: ['--gray-4', '#e8e8e8'],
124
+ muted: ['--gray-9', '#8d8d8d'],
125
+ });
126
+
127
+ // 총점 없는 회차 제외, 회차 오름차순 정렬, 최근 5회차로 한정
128
+ const ordered = useMemo(
129
+ () =>
130
+ [...history]
131
+ .filter((e) => e.totalScore !== null)
132
+ .sort((a, b) => a.trainingSessionNum - b.trainingSessionNum)
133
+ .slice(-5),
134
+ [history],
135
+ );
136
+
137
+ const scores = ordered.map((e) => e.totalScore ?? 0);
138
+ const minScore = Math.max(0, Math.min(...scores) - 10);
139
+ const maxScore = Math.min(100, Math.max(...scores) + 10);
140
+ const labels = ordered.map((e) => `${e.trainingSessionNum}회차`);
141
+ const lastIndex = ordered.length - 1;
142
+
143
+ const option: EChartsOption = {
144
+ tooltip: { trigger: 'axis', valueFormatter: (v) => `${String(v)}점` },
145
+ grid: { left: 36, right: 16, top: 20, bottom: 24, containLabel: false },
146
+ xAxis: {
147
+ type: 'category',
148
+ data: labels,
149
+ boundaryGap: true,
150
+ axisLine: { lineStyle: { color: colors.grid } },
151
+ axisTick: { show: false },
152
+ axisLabel: { color: colors.muted, fontSize: 10 }, // ds-allow: chart-lib
153
+ },
154
+ yAxis: {
155
+ type: 'value',
156
+ min: minScore,
157
+ max: maxScore,
158
+ splitLine: { lineStyle: { color: colors.gridSoft } },
159
+ axisLabel: { color: colors.muted, fontSize: 10 }, // ds-allow: chart-lib
160
+ },
161
+ series: [
162
+ {
163
+ type: 'line',
164
+ data: scores,
165
+ smooth: false,
166
+ showSymbol: true,
167
+ symbol: 'circle',
168
+ symbolSize: 6,
169
+ lineStyle: { color: colors.accent, width: 2 },
170
+ itemStyle: { color: colors.accent },
171
+ label: {
172
+ show: true,
173
+ position: 'top',
174
+ color: colors.accentText,
175
+ fontSize: 10, // ds-allow: chart-lib
176
+ fontWeight: 'bold', // ds-allow: chart-lib
177
+ formatter: (p) => (p.dataIndex === lastIndex ? String(p.value) : ''),
178
+ },
179
+ },
180
+ ],
181
+ };
182
+
183
+ const rows: TrendRow[] = ordered.map((e, i) => {
184
+ const prev = i > 0 ? (ordered[i - 1].totalScore ?? null) : null;
185
+ return {
186
+ ...e,
187
+ delta:
188
+ prev !== null && e.totalScore !== null ? e.totalScore - prev : null,
189
+ isCurrent: i === ordered.length - 1,
190
+ };
191
+ });
192
+
193
+ const columns = useMemo<ColumnDef<TrendRow>[]>(() => {
194
+ const h = createColumnHelper<TrendRow>();
195
+ return [
196
+ h.display({
197
+ id: 'attempt',
198
+ header: '회차',
199
+ size: 120,
200
+ meta: { autoSize: true, align: 'left' },
201
+ cell: AttemptCell,
202
+ }),
203
+ h.display({
204
+ id: 'date',
205
+ header: '날짜',
206
+ size: 130,
207
+ meta: { align: 'left' },
208
+ cell: DateCell,
209
+ }),
210
+ h.display({
211
+ id: 'score',
212
+ header: '총점',
213
+ size: 80,
214
+ meta: { align: 'right' },
215
+ cell: ScoreCell,
216
+ }),
217
+ h.display({
218
+ id: 'delta',
219
+ header: '변화',
220
+ size: 80,
221
+ meta: { align: 'right' },
222
+ cell: DeltaCell,
223
+ }),
224
+ ];
225
+ }, []);
226
+
227
+ return (
228
+ <Section
229
+ desc={`같은 시나리오 최근 ${ordered.length}회차 총점 변화`}
230
+ title="총점 추이"
231
+ >
232
+ <Flex direction="column" gap="4">
233
+ <div
234
+ aria-label="총점 추이 라인 차트"
235
+ role="img"
236
+ style={{ position: 'relative', width: '100%', height: 200 }}
237
+ >
238
+ {probe}
239
+ <Chart option={option} />
240
+ </div>
241
+ <Box className="rp-expand-table">
242
+ <ExpandTable
243
+ columns={columns}
244
+ data={rows}
245
+ getRowStyle={(d: TrendRow) =>
246
+ d.isCurrent ? { background: 'var(--accent-a2)' } : {}
247
+ }
248
+ showPagination={false}
249
+ variant="sprite"
250
+ />
251
+ </Box>
252
+ </Flex>
253
+ </Section>
254
+ );
255
+ }
@@ -0,0 +1,190 @@
1
+ 'use client';
2
+
3
+ import { Box, Flex, Typo } from '../../../atoms';
4
+ import {
5
+ formatTimestamp,
6
+ SPEECH_OVERTALK_THRESHOLD,
7
+ type SpeechShare,
8
+ } from '../utils/session-utils';
9
+ import type { RpSessionScriptLine } from '../types';
10
+
11
+ export interface ScriptTranscriptProps {
12
+ lines: RpSessionScriptLine[];
13
+ partnerName: string | null;
14
+ speechShare: SpeechShare | null;
15
+ canSync: boolean;
16
+ currentMs: number;
17
+ onSeek: (startMs: number) => void;
18
+ }
19
+
20
+ function SpeechShareBar({ share }: { share: SpeechShare }): React.ReactElement {
21
+ const isOvertalking = share.userPct > SPEECH_OVERTALK_THRESHOLD;
22
+ return (
23
+ <Box>
24
+ <Flex align="center" justify="between" mb="1">
25
+ <Typo
26
+ as="span"
27
+ style={{
28
+ fontSize: '0.75rem',
29
+ color: isOvertalking ? 'var(--red-11)' : 'var(--accent-11)',
30
+ }}
31
+ variant="body"
32
+ weight="medium"
33
+ >
34
+ 내 발화량 {share.userPct}%
35
+ </Typo>
36
+ <Typo as="span" color="gray" style={{ fontSize: '0.75rem' }} variant="body">
37
+ 상대 {share.partnerPct}%
38
+ </Typo>
39
+ </Flex>
40
+ <Flex
41
+ style={{
42
+ height: 6,
43
+ borderRadius: 'var(--radius-1)',
44
+ overflow: 'hidden',
45
+ background: 'var(--gray-4)',
46
+ }}
47
+ >
48
+ <Box
49
+ style={{
50
+ width: `${share.userPct}%`,
51
+ background: isOvertalking ? 'var(--red-9)' : 'var(--accent-9)',
52
+ }}
53
+ />
54
+ </Flex>
55
+ {isOvertalking ? (
56
+ <Typo
57
+ as="p"
58
+ mt="1"
59
+ style={{ fontSize: '0.75rem', color: 'var(--red-11)' }}
60
+ variant="body"
61
+ >
62
+ 상대의 말을 더 듣고 질문·경청의 비중을 높여 보세요
63
+ </Typo>
64
+ ) : null}
65
+ </Box>
66
+ );
67
+ }
68
+
69
+ export function ScriptTranscript({
70
+ lines,
71
+ partnerName,
72
+ speechShare,
73
+ canSync,
74
+ currentMs,
75
+ onSeek,
76
+ }: ScriptTranscriptProps): React.ReactElement {
77
+ const activeIndex = canSync
78
+ ? lines.reduce((acc, line, i) => (line.startMs <= currentMs ? i : acc), -1)
79
+ : -1;
80
+
81
+ return (
82
+ <Flex direction="column" gap="2" style={{ minWidth: 0 }}>
83
+ <Box>
84
+ <Flex align="center" gap="2" justify="between">
85
+ <Typo as="span" variant="body" weight="bold">
86
+ 대화 스크립트
87
+ </Typo>
88
+ <Typo
89
+ as="span"
90
+ color="gray"
91
+ style={{ fontSize: '0.75rem', flexShrink: 0 }}
92
+ variant="body"
93
+ >
94
+ {canSync ? '재생 위치에 맞춰 표시' : '타임라인 비동기'}
95
+ </Typo>
96
+ </Flex>
97
+ {partnerName ? (
98
+ <Typo as="p" color="gray" mt="1" style={{ fontSize: '0.75rem' }} variant="body">
99
+ 상대 · {partnerName}
100
+ </Typo>
101
+ ) : null}
102
+ {speechShare ? (
103
+ <Box mt="2">
104
+ <SpeechShareBar share={speechShare} />
105
+ </Box>
106
+ ) : null}
107
+ </Box>
108
+
109
+ {lines.length === 0 ? (
110
+ <Typo as="p" color="gray" variant="body">
111
+ 대화 스크립트가 없습니다.
112
+ </Typo>
113
+ ) : (
114
+ <Box style={{ maxHeight: 440, overflowY: 'auto' }}>
115
+ <Flex direction="column" gap="1">
116
+ {lines.map((line, i) => {
117
+ const isUser = line.speaker === 'user';
118
+ const isActive = i === activeIndex;
119
+ return (
120
+ <Flex
121
+ align="start"
122
+ gap="3"
123
+ key={`${line.startMs}-${line.speaker}`}
124
+ onClick={
125
+ canSync
126
+ ? () => {
127
+ onSeek(line.startMs);
128
+ }
129
+ : undefined
130
+ }
131
+ px="2"
132
+ py="2"
133
+ style={{
134
+ cursor: canSync ? 'pointer' : 'default',
135
+ borderRadius: 'var(--radius-2)',
136
+ background: isActive ? 'var(--accent-a3)' : 'transparent',
137
+ }}
138
+ >
139
+ {canSync ? (
140
+ <Typo
141
+ as="span"
142
+ mono
143
+ style={{
144
+ color: isActive ? 'var(--accent-11)' : 'var(--gray-9)',
145
+ fontSize: '0.75rem',
146
+ flexShrink: 0,
147
+ minWidth: 32,
148
+ lineHeight: '1.7',
149
+ }}
150
+ variant="body"
151
+ >
152
+ {formatTimestamp(line.startMs)}
153
+ </Typo>
154
+ ) : null}
155
+ <Typo
156
+ as="span"
157
+ style={{
158
+ color: isUser ? 'var(--accent-11)' : 'var(--gray-11)',
159
+ fontSize: '0.8125rem',
160
+ flexShrink: 0,
161
+ minWidth: 28,
162
+ lineHeight: '1.7',
163
+ fontWeight: 700,
164
+ whiteSpace: 'nowrap',
165
+ }}
166
+ variant="body"
167
+ >
168
+ {isUser ? '나' : '상대'}
169
+ </Typo>
170
+ <Typo
171
+ as="span"
172
+ style={{
173
+ fontSize: '0.875rem',
174
+ lineHeight: '1.7',
175
+ color: isActive ? 'var(--gray-12)' : 'var(--gray-11)',
176
+ }}
177
+ variant="body"
178
+ weight={isActive ? 'medium' : undefined}
179
+ >
180
+ {line.text}
181
+ </Typo>
182
+ </Flex>
183
+ );
184
+ })}
185
+ </Flex>
186
+ </Box>
187
+ )}
188
+ </Flex>
189
+ );
190
+ }