@tipp/ui 2.10.2 → 2.10.4

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 (277) hide show
  1. package/dist/app/index.cjs +385 -359
  2. package/dist/app/index.cjs.map +1 -1
  3. package/dist/app/index.js +40 -38
  4. package/dist/app/platform/coach-question-list.cjs +58 -35
  5. package/dist/app/platform/coach-question-list.cjs.map +1 -1
  6. package/dist/app/platform/coach-question-list.js +3 -2
  7. package/dist/app/platform/contents-card.cjs +120 -97
  8. package/dist/app/platform/contents-card.cjs.map +1 -1
  9. package/dist/app/platform/contents-card.js +3 -2
  10. package/dist/app/platform/curriculum-card.cjs +39 -16
  11. package/dist/app/platform/curriculum-card.cjs.map +1 -1
  12. package/dist/app/platform/curriculum-card.js +3 -2
  13. package/dist/app/platform/edit-coaching-time.cjs +160 -134
  14. package/dist/app/platform/edit-coaching-time.cjs.map +1 -1
  15. package/dist/app/platform/edit-coaching-time.js +30 -28
  16. package/dist/app/platform/edit-service-type.cjs +152 -126
  17. package/dist/app/platform/edit-service-type.cjs.map +1 -1
  18. package/dist/app/platform/edit-service-type.js +30 -28
  19. package/dist/app/platform/goal-manage-card-edit.cjs +162 -136
  20. package/dist/app/platform/goal-manage-card-edit.cjs.map +1 -1
  21. package/dist/app/platform/goal-manage-card-edit.js +30 -28
  22. package/dist/app/platform/goal-manage-card-read.cjs +88 -65
  23. package/dist/app/platform/goal-manage-card-read.cjs.map +1 -1
  24. package/dist/app/platform/goal-manage-card-read.js +3 -2
  25. package/dist/app/platform/on-offline-radio-card.cjs +303 -277
  26. package/dist/app/platform/on-offline-radio-card.cjs.map +1 -1
  27. package/dist/app/platform/on-offline-radio-card.js +30 -28
  28. package/dist/app/platform/report-card.cjs +61 -38
  29. package/dist/app/platform/report-card.cjs.map +1 -1
  30. package/dist/app/platform/report-card.js +3 -2
  31. package/dist/app/platform/reservation-card.cjs +176 -150
  32. package/dist/app/platform/reservation-card.cjs.map +1 -1
  33. package/dist/app/platform/reservation-card.js +30 -28
  34. package/dist/app/platform/session-card.cjs +205 -179
  35. package/dist/app/platform/session-card.cjs.map +1 -1
  36. package/dist/app/platform/session-card.js +30 -28
  37. package/dist/app/platform/session-review-simple-read.cjs +59 -36
  38. package/dist/app/platform/session-review-simple-read.cjs.map +1 -1
  39. package/dist/app/platform/session-review-simple-read.js +3 -2
  40. package/dist/app/platform/userInfos/coaching-customer-info/index.cjs +92 -69
  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 +7 -6
  43. package/dist/app/platform/userInfos/coaching-customer-info/large.cjs +69 -46
  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 +3 -2
  46. package/dist/app/platform/userInfos/coaching-customer-info/medium.cjs +72 -49
  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 +3 -2
  49. package/dist/app/platform/userInfos/coaching-customer-info/small.cjs +58 -35
  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 +3 -2
  52. package/dist/app/platform/userInfos/session-user-info-detail.cjs +68 -45
  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 +3 -2
  55. package/dist/app/platform/userInfos/utils.cjs +60 -37
  56. package/dist/app/platform/userInfos/utils.cjs.map +1 -1
  57. package/dist/app/platform/userInfos/utils.js +3 -2
  58. package/dist/app/roleplay/index.cjs +460 -389
  59. package/dist/app/roleplay/index.cjs.map +1 -1
  60. package/dist/app/roleplay/index.js +38 -36
  61. package/dist/app/roleplay/parts/analysis-section.cjs +64 -41
  62. package/dist/app/roleplay/parts/analysis-section.cjs.map +1 -1
  63. package/dist/app/roleplay/parts/analysis-section.js +3 -2
  64. package/dist/app/roleplay/parts/coaching-panel.cjs +65 -42
  65. package/dist/app/roleplay/parts/coaching-panel.cjs.map +1 -1
  66. package/dist/app/roleplay/parts/coaching-panel.js +3 -2
  67. package/dist/app/roleplay/parts/content.cjs +385 -314
  68. package/dist/app/roleplay/parts/content.cjs.map +1 -1
  69. package/dist/app/roleplay/parts/content.js +34 -32
  70. package/dist/app/roleplay/parts/header.cjs +83 -60
  71. package/dist/app/roleplay/parts/header.cjs.map +1 -1
  72. package/dist/app/roleplay/parts/header.js +4 -3
  73. package/dist/app/roleplay/parts/score-summary.cjs +77 -54
  74. package/dist/app/roleplay/parts/score-summary.cjs.map +1 -1
  75. package/dist/app/roleplay/parts/score-summary.js +3 -2
  76. package/dist/app/roleplay/parts/score-trend-section.cjs +228 -157
  77. package/dist/app/roleplay/parts/score-trend-section.cjs.map +1 -1
  78. package/dist/app/roleplay/parts/score-trend-section.js +31 -29
  79. package/dist/app/roleplay/parts/script-transcript.cjs +73 -50
  80. package/dist/app/roleplay/parts/script-transcript.cjs.map +1 -1
  81. package/dist/app/roleplay/parts/script-transcript.js +3 -2
  82. package/dist/app/roleplay/parts/section-nav.cjs +94 -71
  83. package/dist/app/roleplay/parts/section-nav.cjs.map +1 -1
  84. package/dist/app/roleplay/parts/section-nav.js +3 -2
  85. package/dist/app/roleplay/parts/session-replay-dialog.cjs +83 -60
  86. package/dist/app/roleplay/parts/session-replay-dialog.cjs.map +1 -1
  87. package/dist/app/roleplay/parts/session-replay-dialog.js +3 -2
  88. package/dist/app/roleplay/parts/speech-share-bar.cjs +60 -37
  89. package/dist/app/roleplay/parts/speech-share-bar.cjs.map +1 -1
  90. package/dist/app/roleplay/parts/speech-share-bar.js +3 -2
  91. package/dist/app/roleplay/parts/step-detail.cjs +78 -55
  92. package/dist/app/roleplay/parts/step-detail.cjs.map +1 -1
  93. package/dist/app/roleplay/parts/step-detail.js +3 -2
  94. package/dist/app/roleplay/parts/step-summary.cjs +78 -55
  95. package/dist/app/roleplay/parts/step-summary.cjs.map +1 -1
  96. package/dist/app/roleplay/parts/step-summary.js +3 -2
  97. package/dist/app/roleplay/rp-session-detail.cjs +460 -389
  98. package/dist/app/roleplay/rp-session-detail.cjs.map +1 -1
  99. package/dist/app/roleplay/rp-session-detail.js +38 -36
  100. package/dist/atoms/index.cjs +82 -59
  101. package/dist/atoms/index.cjs.map +1 -1
  102. package/dist/atoms/index.js +3 -2
  103. package/dist/atoms/pagination.cjs +38 -15
  104. package/dist/atoms/pagination.cjs.map +1 -1
  105. package/dist/atoms/pagination.js +3 -2
  106. package/dist/chunk-2EPKY2VT.js +70 -0
  107. package/dist/chunk-2EPKY2VT.js.map +1 -0
  108. package/dist/chunk-2PPLSZ4P.js +1 -0
  109. package/dist/chunk-5DRITHNR.js +1 -0
  110. package/dist/{chunk-5RIAIE2J.js → chunk-73PHGHPI.js} +5 -2
  111. package/dist/chunk-73PHGHPI.js.map +1 -0
  112. package/dist/{chunk-IIZ7I7NS.js → chunk-AYWCLLQ2.js} +7 -7
  113. package/dist/{chunk-RRC4WFG3.js → chunk-DIFGHMGI.js} +2 -2
  114. package/dist/{chunk-P2H3VCIB.js → chunk-HL3MGRAC.js} +4 -4
  115. package/dist/chunk-IAKMJR72.js +33 -0
  116. package/dist/chunk-IAKMJR72.js.map +1 -0
  117. package/dist/{chunk-YFR3HXSV.js → chunk-IHLFOJD5.js} +2 -2
  118. package/dist/{chunk-A32HLL53.js → chunk-KQ3ME6XY.js} +7 -7
  119. package/dist/{chunk-SZAU7YP3.js → chunk-L7ZHSQES.js} +5 -5
  120. package/dist/{chunk-MD64AUR6.js → chunk-LGILQRJM.js} +8 -8
  121. package/dist/{chunk-FJEDSUGU.js → chunk-NEJCZABQ.js} +7 -7
  122. package/dist/{chunk-NSDVLCCW.js → chunk-RJ62VZ6O.js} +2 -2
  123. package/dist/{chunk-UK3LP7VH.js → chunk-TYM6T7JT.js} +2 -2
  124. package/dist/{chunk-RZW6FVML.js → chunk-UCTSCSQR.js} +2 -2
  125. package/dist/{chunk-JCZXPONS.js → chunk-VBYXXISC.js} +4 -4
  126. package/dist/{chunk-VM2PEQLQ.js → chunk-VJREZH2Z.js} +2 -2
  127. package/dist/chunk-VJREZH2Z.js.map +1 -0
  128. package/dist/icon.cjs +25 -0
  129. package/dist/icon.cjs.map +1 -1
  130. package/dist/icon.d.cts +1 -0
  131. package/dist/icon.d.ts +1 -0
  132. package/dist/icon.js +7 -3
  133. package/dist/icons/empty-box.cjs +90 -0
  134. package/dist/icons/empty-box.cjs.map +1 -0
  135. package/dist/icons/empty-box.d.cts +13 -0
  136. package/dist/icons/empty-box.d.ts +13 -0
  137. package/dist/icons/empty-box.js +8 -0
  138. package/dist/icons/empty-box.js.map +1 -0
  139. package/dist/icons/index.cjs +25 -0
  140. package/dist/icons/index.cjs.map +1 -1
  141. package/dist/icons/index.d.cts +1 -0
  142. package/dist/icons/index.d.ts +1 -0
  143. package/dist/icons/index.js +7 -3
  144. package/dist/index.cjs +959 -884
  145. package/dist/index.cjs.map +1 -1
  146. package/dist/index.d.cts +2 -0
  147. package/dist/index.d.ts +2 -0
  148. package/dist/index.js +62 -54
  149. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/index.cjs +95 -72
  150. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/index.cjs.map +1 -1
  151. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/index.js +8 -7
  152. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-comp.cjs +29 -6
  153. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-comp.cjs.map +1 -1
  154. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-comp.js +3 -2
  155. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-body.cjs +71 -48
  156. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-body.cjs.map +1 -1
  157. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-body.js +6 -5
  158. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-footer.cjs +32 -9
  159. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-footer.cjs.map +1 -1
  160. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-footer.js +3 -2
  161. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-radio.cjs +41 -18
  162. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-radio.cjs.map +1 -1
  163. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-radio.js +3 -2
  164. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-satisfaction-option.cjs +33 -10
  165. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-satisfaction-option.cjs.map +1 -1
  166. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-satisfaction-option.js +3 -2
  167. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-satisfaction-text.cjs +33 -10
  168. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-satisfaction-text.cjs.map +1 -1
  169. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-satisfaction-text.js +3 -2
  170. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-text.cjs +42 -19
  171. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-text.cjs.map +1 -1
  172. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-text.js +3 -2
  173. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/complete-review.cjs +37 -14
  174. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/complete-review.cjs.map +1 -1
  175. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/complete-review.js +3 -2
  176. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/index.cjs +153 -130
  177. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/index.cjs.map +1 -1
  178. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/index.js +9 -8
  179. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/start-review.cjs +45 -22
  180. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/start-review.cjs.map +1 -1
  181. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/start-review.js +3 -2
  182. package/dist/molecules/curriculumV2/CurriculumContents/curriculum-ai-traning.cjs +30 -7
  183. package/dist/molecules/curriculumV2/CurriculumContents/curriculum-ai-traning.cjs.map +1 -1
  184. package/dist/molecules/curriculumV2/CurriculumContents/curriculum-ai-traning.js +3 -2
  185. package/dist/molecules/curriculumV2/CurriculumContents/curriculum-review.cjs +171 -148
  186. package/dist/molecules/curriculumV2/CurriculumContents/curriculum-review.cjs.map +1 -1
  187. package/dist/molecules/curriculumV2/CurriculumContents/curriculum-review.js +10 -9
  188. package/dist/molecules/curriculumV2/CurriculumContents/index.cjs +220 -197
  189. package/dist/molecules/curriculumV2/CurriculumContents/index.cjs.map +1 -1
  190. package/dist/molecules/curriculumV2/CurriculumContents/index.js +13 -12
  191. package/dist/molecules/curriculumV2/CurriculumSidebar/Items/section-item.cjs +33 -10
  192. package/dist/molecules/curriculumV2/CurriculumSidebar/Items/section-item.cjs.map +1 -1
  193. package/dist/molecules/curriculumV2/CurriculumSidebar/Items/section-item.js +3 -2
  194. package/dist/molecules/curriculumV2/CurriculumSidebar/index.cjs +52 -29
  195. package/dist/molecules/curriculumV2/CurriculumSidebar/index.cjs.map +1 -1
  196. package/dist/molecules/curriculumV2/CurriculumSidebar/index.js +7 -6
  197. package/dist/molecules/curriculumV2/CurriculumSidebar/sidebar-item.cjs +44 -21
  198. package/dist/molecules/curriculumV2/CurriculumSidebar/sidebar-item.cjs.map +1 -1
  199. package/dist/molecules/curriculumV2/CurriculumSidebar/sidebar-item.js +6 -5
  200. package/dist/molecules/curriculumV2/curriculum-sub-nav.cjs +36 -13
  201. package/dist/molecules/curriculumV2/curriculum-sub-nav.cjs.map +1 -1
  202. package/dist/molecules/curriculumV2/curriculum-sub-nav.js +3 -2
  203. package/dist/molecules/curriculumV2/index.cjs +264 -241
  204. package/dist/molecules/curriculumV2/index.cjs.map +1 -1
  205. package/dist/molecules/curriculumV2/index.js +21 -20
  206. package/dist/molecules/date-picker/date-picker-button.cjs +52 -29
  207. package/dist/molecules/date-picker/date-picker-button.cjs.map +1 -1
  208. package/dist/molecules/date-picker/date-picker-button.js +3 -2
  209. package/dist/molecules/date-picker/index.cjs +40 -17
  210. package/dist/molecules/date-picker/index.cjs.map +1 -1
  211. package/dist/molecules/date-picker/index.js +3 -2
  212. package/dist/molecules/description-json-render.cjs +31 -8
  213. package/dist/molecules/description-json-render.cjs.map +1 -1
  214. package/dist/molecules/description-json-render.js +3 -2
  215. package/dist/molecules/dynamic-form-editor-field-editor-panel.cjs +138 -115
  216. package/dist/molecules/dynamic-form-editor-field-editor-panel.cjs.map +1 -1
  217. package/dist/molecules/dynamic-form-editor-field-editor-panel.js +3 -2
  218. package/dist/molecules/dynamic-form-editor.cjs +223 -200
  219. package/dist/molecules/dynamic-form-editor.cjs.map +1 -1
  220. package/dist/molecules/dynamic-form-editor.js +5 -4
  221. package/dist/molecules/empty-state.cjs +328 -0
  222. package/dist/molecules/empty-state.cjs.map +1 -0
  223. package/dist/molecules/empty-state.d.cts +21 -0
  224. package/dist/molecules/empty-state.d.ts +21 -0
  225. package/dist/molecules/empty-state.js +16 -0
  226. package/dist/molecules/empty-state.js.map +1 -0
  227. package/dist/molecules/expand-table/index.cjs +193 -58
  228. package/dist/molecules/expand-table/index.cjs.map +1 -1
  229. package/dist/molecules/expand-table/index.js +6 -3
  230. package/dist/molecules/index.cjs +862 -789
  231. package/dist/molecules/index.cjs.map +1 -1
  232. package/dist/molecules/index.d.cts +2 -1
  233. package/dist/molecules/index.d.ts +2 -1
  234. package/dist/molecules/index.js +43 -38
  235. package/dist/molecules/stepper.cjs +43 -20
  236. package/dist/molecules/stepper.cjs.map +1 -1
  237. package/dist/molecules/stepper.js +3 -2
  238. package/dist/molecules/tag-selector.cjs +43 -20
  239. package/dist/molecules/tag-selector.cjs.map +1 -1
  240. package/dist/molecules/tag-selector.js +3 -2
  241. package/dist/molecules/time-select.cjs +28 -5
  242. package/dist/molecules/time-select.cjs.map +1 -1
  243. package/dist/molecules/time-select.js +4 -3
  244. package/dist/utils/curriculum.utils.cjs +23 -0
  245. package/dist/utils/curriculum.utils.cjs.map +1 -1
  246. package/dist/utils/curriculum.utils.js +3 -2
  247. package/dist/utils/get-callout-icon-component.cjs +23 -0
  248. package/dist/utils/get-callout-icon-component.cjs.map +1 -1
  249. package/dist/utils/get-callout-icon-component.js +3 -2
  250. package/dist/utils/index.cjs +23 -0
  251. package/dist/utils/index.cjs.map +1 -1
  252. package/dist/utils/index.js +6 -5
  253. package/package.json +1 -1
  254. package/src/app/roleplay/parts/header.tsx +2 -1
  255. package/src/icons/empty-box.tsx +29 -0
  256. package/src/icons/index.ts +2 -1
  257. package/src/molecules/empty-state.tsx +79 -0
  258. package/src/molecules/expand-table/index.tsx +2 -3
  259. package/src/molecules/index.ts +1 -0
  260. package/dist/chunk-5RIAIE2J.js.map +0 -1
  261. package/dist/chunk-JVXATVAC.js +0 -1
  262. package/dist/chunk-SYMOHU2B.js +0 -1
  263. package/dist/chunk-VM2PEQLQ.js.map +0 -1
  264. /package/dist/{chunk-JVXATVAC.js.map → chunk-2PPLSZ4P.js.map} +0 -0
  265. /package/dist/{chunk-SYMOHU2B.js.map → chunk-5DRITHNR.js.map} +0 -0
  266. /package/dist/{chunk-IIZ7I7NS.js.map → chunk-AYWCLLQ2.js.map} +0 -0
  267. /package/dist/{chunk-RRC4WFG3.js.map → chunk-DIFGHMGI.js.map} +0 -0
  268. /package/dist/{chunk-P2H3VCIB.js.map → chunk-HL3MGRAC.js.map} +0 -0
  269. /package/dist/{chunk-YFR3HXSV.js.map → chunk-IHLFOJD5.js.map} +0 -0
  270. /package/dist/{chunk-A32HLL53.js.map → chunk-KQ3ME6XY.js.map} +0 -0
  271. /package/dist/{chunk-SZAU7YP3.js.map → chunk-L7ZHSQES.js.map} +0 -0
  272. /package/dist/{chunk-MD64AUR6.js.map → chunk-LGILQRJM.js.map} +0 -0
  273. /package/dist/{chunk-FJEDSUGU.js.map → chunk-NEJCZABQ.js.map} +0 -0
  274. /package/dist/{chunk-NSDVLCCW.js.map → chunk-RJ62VZ6O.js.map} +0 -0
  275. /package/dist/{chunk-UK3LP7VH.js.map → chunk-TYM6T7JT.js.map} +0 -0
  276. /package/dist/{chunk-RZW6FVML.js.map → chunk-UCTSCSQR.js.map} +0 -0
  277. /package/dist/{chunk-JCZXPONS.js.map → chunk-VBYXXISC.js.map} +0 -0
@@ -2229,8 +2229,31 @@ var HeadsetIcon = React34.forwardRef(
2229
2229
  );
2230
2230
  HeadsetIcon.displayName = "HeadsetIcon";
2231
2231
 
2232
- // src/atoms/pagination.tsx
2232
+ // src/icons/empty-box.tsx
2233
+ var React35 = __toESM(require("react"), 1);
2233
2234
  var import_jsx_runtime51 = require("react/jsx-runtime");
2235
+ var EmptyBoxIcon = React35.forwardRef(
2236
+ (_a, forwardedRef) => {
2237
+ var _b = _a, { color = "currentColor", width = 120, height = 120 } = _b, props = __objRest(_b, ["color", "width", "height"]);
2238
+ return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
2239
+ "svg",
2240
+ __spreadProps(__spreadValues({
2241
+ fill: color,
2242
+ height,
2243
+ viewBox: "0 0 462.035 462.035",
2244
+ width,
2245
+ xmlns: "http://www.w3.org/2000/svg"
2246
+ }, props), {
2247
+ ref: forwardedRef,
2248
+ children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("path", { d: "M457.83,158.441c-0.021-0.028-0.033-0.058-0.057-0.087l-50.184-62.48c-0.564-0.701-1.201-1.305-1.879-1.845c-2.16-2.562-5.355-4.225-8.967-4.225H65.292c-3.615,0-6.804,1.661-8.965,4.225c-0.678,0.54-1.316,1.138-1.885,1.845l-50.178,62.48c-0.023,0.029-0.034,0.059-0.057,0.087C1.655,160.602,0,163.787,0,167.39v193.07c0,6.5,5.27,11.771,11.77,11.771h438.496c6.5,0,11.77-5.271,11.77-11.771V167.39C462.037,163.787,460.381,160.602,457.83,158.441z M408.516,134.615l16.873,21.005h-16.873V134.615z M384.975,113.345v42.274H296.84c-2.514,0-4.955,0.805-6.979,2.293l-58.837,43.299l-58.849-43.305c-2.023-1.482-4.466-2.287-6.978-2.287H77.061v-42.274H384.975z M53.523,155.62H36.65l16.873-21.005V155.62z M438.498,348.69H23.54V179.16h137.796l62.711,46.148c4.15,3.046,9.805,3.052,13.954-0.005l62.698-46.144h137.799V348.69L438.498,348.69z" })
2249
+ })
2250
+ );
2251
+ }
2252
+ );
2253
+ EmptyBoxIcon.displayName = "EmptyBoxIcon";
2254
+
2255
+ // src/atoms/pagination.tsx
2256
+ var import_jsx_runtime52 = require("react/jsx-runtime");
2234
2257
  function Pagination(props) {
2235
2258
  const { onChange, count = 0, siblingCount = 2 } = props;
2236
2259
  const isControlled = props.page !== void 0;
@@ -2299,7 +2322,7 @@ function Pagination(props) {
2299
2322
  const { color: resolvedColor, className: colorClassName } = resolveColor(
2300
2323
  props.color
2301
2324
  );
2302
- return /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(
2325
+ return /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(
2303
2326
  import_themes23.Flex,
2304
2327
  {
2305
2328
  align: "center",
@@ -2307,18 +2330,18 @@ function Pagination(props) {
2307
2330
  className: colorClassName ? `tipp-pagination ${colorClassName}` : "tipp-pagination",
2308
2331
  "data-accent-color": resolvedColor,
2309
2332
  children: [
2310
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
2333
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
2311
2334
  IconButton,
2312
2335
  __spreadProps(__spreadValues({
2313
2336
  disabled: !doublePrev,
2314
2337
  onClick: onClickDoublePrev
2315
2338
  }, moveButtonProps), {
2316
- children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_react_icons2.DoubleArrowLeftIcon, __spreadValues({}, iconSize))
2339
+ children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_react_icons2.DoubleArrowLeftIcon, __spreadValues({}, iconSize))
2317
2340
  })
2318
2341
  ),
2319
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(IconButton, __spreadProps(__spreadValues({ disabled: !prev, onClick: onClickPrev }, moveButtonProps), { children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_react_icons2.ChevronLeftIcon, __spreadValues({}, iconSize)) })),
2320
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_themes23.Flex, { gap: "1", children: visibleItems.map((item) => {
2321
- return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
2342
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(IconButton, __spreadProps(__spreadValues({ disabled: !prev, onClick: onClickPrev }, moveButtonProps), { children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_react_icons2.ChevronLeftIcon, __spreadValues({}, iconSize)) })),
2343
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_themes23.Flex, { gap: "1", children: visibleItems.map((item) => {
2344
+ return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
2322
2345
  "button",
2323
2346
  {
2324
2347
  className: `page-button ${item === page ? "active" : ""}`,
@@ -2326,19 +2349,19 @@ function Pagination(props) {
2326
2349
  goToPage(item);
2327
2350
  },
2328
2351
  type: "button",
2329
- children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Typo, { variant: "body", children: item })
2352
+ children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Typo, { variant: "body", children: item })
2330
2353
  },
2331
2354
  item
2332
2355
  );
2333
2356
  }) }),
2334
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(IconButton, __spreadProps(__spreadValues({ disabled: !next, onClick: onClickNext }, moveButtonProps), { children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_react_icons2.ChevronRightIcon, __spreadValues({}, iconSize)) })),
2335
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
2357
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(IconButton, __spreadProps(__spreadValues({ disabled: !next, onClick: onClickNext }, moveButtonProps), { children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_react_icons2.ChevronRightIcon, __spreadValues({}, iconSize)) })),
2358
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
2336
2359
  IconButton,
2337
2360
  __spreadProps(__spreadValues({
2338
2361
  disabled: !doubleNext,
2339
2362
  onClick: onClickDoubleNext
2340
2363
  }, moveButtonProps), {
2341
- children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_react_icons2.DoubleArrowRightIcon, __spreadValues({}, iconSize))
2364
+ children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_react_icons2.DoubleArrowRightIcon, __spreadValues({}, iconSize))
2342
2365
  })
2343
2366
  )
2344
2367
  ]
@@ -2347,23 +2370,23 @@ function Pagination(props) {
2347
2370
  }
2348
2371
 
2349
2372
  // src/atoms/field-error-wrapper.tsx
2350
- var import_jsx_runtime52 = require("react/jsx-runtime");
2373
+ var import_jsx_runtime53 = require("react/jsx-runtime");
2351
2374
 
2352
2375
  // src/atoms/ellipsis-tooltip.tsx
2353
2376
  var import_react37 = require("react");
2354
- var import_jsx_runtime53 = require("react/jsx-runtime");
2377
+ var import_jsx_runtime54 = require("react/jsx-runtime");
2355
2378
 
2356
2379
  // src/atoms/drawer.tsx
2357
2380
  var Dialog2 = __toESM(require("@radix-ui/react-dialog"), 1);
2358
2381
  var import_themes51 = require("@radix-ui/themes");
2359
2382
 
2360
2383
  // src/icons/close-panel-arrow.tsx
2361
- var React37 = __toESM(require("react"), 1);
2362
- var import_jsx_runtime54 = require("react/jsx-runtime");
2363
- var ClosePanelArrowIcon = React37.forwardRef(
2384
+ var React38 = __toESM(require("react"), 1);
2385
+ var import_jsx_runtime55 = require("react/jsx-runtime");
2386
+ var ClosePanelArrowIcon = React38.forwardRef(
2364
2387
  (_a, forwardedRef) => {
2365
2388
  var _b = _a, { color = "currentColor" } = _b, props = __objRest(_b, ["color"]);
2366
- return /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(
2389
+ return /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(
2367
2390
  "svg",
2368
2391
  __spreadProps(__spreadValues({
2369
2392
  fill: "none",
@@ -2374,7 +2397,7 @@ var ClosePanelArrowIcon = React37.forwardRef(
2374
2397
  }, props), {
2375
2398
  ref: forwardedRef,
2376
2399
  children: [
2377
- /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
2400
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
2378
2401
  "path",
2379
2402
  {
2380
2403
  clipRule: "evenodd",
@@ -2383,7 +2406,7 @@ var ClosePanelArrowIcon = React37.forwardRef(
2383
2406
  fillRule: "evenodd"
2384
2407
  }
2385
2408
  ),
2386
- /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
2409
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
2387
2410
  "path",
2388
2411
  {
2389
2412
  clipRule: "evenodd",
@@ -2400,11 +2423,11 @@ var ClosePanelArrowIcon = React37.forwardRef(
2400
2423
  ClosePanelArrowIcon.displayName = "ArrowDownIcon";
2401
2424
 
2402
2425
  // src/atoms/drawer.tsx
2403
- var import_jsx_runtime55 = require("react/jsx-runtime");
2426
+ var import_jsx_runtime56 = require("react/jsx-runtime");
2404
2427
 
2405
2428
  // src/atoms/toast.tsx
2406
2429
  var import_sonner = require("sonner");
2407
- var import_jsx_runtime56 = require("react/jsx-runtime");
2430
+ var import_jsx_runtime57 = require("react/jsx-runtime");
2408
2431
  var toast = Object.assign(import_sonner.toast, {
2409
2432
  warn: import_sonner.toast.warning
2410
2433
  });
@@ -2412,11 +2435,11 @@ var toast = Object.assign(import_sonner.toast, {
2412
2435
  // src/molecules/form/form.tsx
2413
2436
  var RadixForm = __toESM(require("@radix-ui/react-form"), 1);
2414
2437
  var import_react38 = require("react");
2415
- var import_jsx_runtime57 = require("react/jsx-runtime");
2438
+ var import_jsx_runtime58 = require("react/jsx-runtime");
2416
2439
  var Root15 = (0, import_react38.forwardRef)(
2417
2440
  (_a, ref) => {
2418
2441
  var _b = _a, { children, className } = _b, rest = __objRest(_b, ["children", "className"]);
2419
- return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
2442
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
2420
2443
  RadixForm.Root,
2421
2444
  __spreadProps(__spreadValues({}, rest), {
2422
2445
  className: `FormRoot ${className || ""}`,
@@ -2433,25 +2456,25 @@ var FieldContext = (0, import_react38.createContext)({
2433
2456
  var Field2 = (0, import_react38.forwardRef)(
2434
2457
  (_a, ref) => {
2435
2458
  var _b = _a, { children, className } = _b, rest = __objRest(_b, ["children", "className"]);
2436
- return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
2459
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
2437
2460
  RadixForm.Field,
2438
2461
  __spreadProps(__spreadValues({}, rest), {
2439
2462
  className: `FormField ${className || ""}`,
2440
2463
  ref,
2441
- children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(FieldContext.Provider, { value: rest, children })
2464
+ children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(FieldContext.Provider, { value: rest, children })
2442
2465
  })
2443
2466
  );
2444
2467
  }
2445
2468
  );
2446
2469
  Field2.displayName = "FORM_FIELD";
2447
2470
  function HeadingLabel(props) {
2448
- return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(Heading2, __spreadProps(__spreadValues({ variant: "heading5" }, props), { children: props.children }));
2471
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(Heading2, __spreadProps(__spreadValues({ variant: "heading5" }, props), { children: props.children }));
2449
2472
  }
2450
2473
  function CaptionLabel(props) {
2451
- return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(Typo, __spreadProps(__spreadValues({ color: "gray", variant: "caption", weight: "bold" }, props), { children: props.children }));
2474
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(Typo, __spreadProps(__spreadValues({ color: "gray", variant: "caption", weight: "bold" }, props), { children: props.children }));
2452
2475
  }
2453
2476
  function BodyLabel(props) {
2454
- return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(Typo, __spreadProps(__spreadValues({ variant: "body", weight: "bold" }, props), { children: props.children }));
2477
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(Typo, __spreadProps(__spreadValues({ variant: "body", weight: "bold" }, props), { children: props.children }));
2455
2478
  }
2456
2479
  var Label3 = (0, import_react38.forwardRef)(
2457
2480
  (_a, ref) => {
@@ -2468,15 +2491,15 @@ var Label3 = (0, import_react38.forwardRef)(
2468
2491
  }
2469
2492
  }, [variant]);
2470
2493
  const fieldProps = (0, import_react38.useContext)(FieldContext);
2471
- return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
2494
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
2472
2495
  RadixForm.Label,
2473
2496
  __spreadProps(__spreadValues({}, rest), {
2474
2497
  asChild: true,
2475
2498
  className: `FormLabel ${className || ""}`,
2476
2499
  ref,
2477
- children: /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(Comp, { children: [
2500
+ children: /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(Comp, { children: [
2478
2501
  children,
2479
- fieldProps.required ? /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(Typo, { as: "span", color: "tomato", children: ` *` }) : null
2502
+ fieldProps.required ? /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(Typo, { as: "span", color: "tomato", children: ` *` }) : null
2480
2503
  ] })
2481
2504
  })
2482
2505
  );
@@ -2486,13 +2509,13 @@ Label3.displayName = "FORM_Label";
2486
2509
  var Message2 = (0, import_react38.forwardRef)(
2487
2510
  (_a, ref) => {
2488
2511
  var _b = _a, { children, className } = _b, rest = __objRest(_b, ["children", "className"]);
2489
- return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
2512
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
2490
2513
  RadixForm.Message,
2491
2514
  __spreadProps(__spreadValues({}, rest), {
2492
2515
  asChild: true,
2493
2516
  className: `FormMessage ${className || ""}`,
2494
2517
  ref,
2495
- children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(Typo, { color: "red", children })
2518
+ children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(Typo, { color: "red", children })
2496
2519
  })
2497
2520
  );
2498
2521
  }
@@ -2502,7 +2525,7 @@ var Control2 = (0, import_react38.forwardRef)(
2502
2525
  (_a, ref) => {
2503
2526
  var _b = _a, { className } = _b, rest = __objRest(_b, ["className"]);
2504
2527
  const fieldProps = (0, import_react38.useContext)(FieldContext);
2505
- return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
2528
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
2506
2529
  RadixForm.Control,
2507
2530
  __spreadProps(__spreadValues({}, rest), {
2508
2531
  className: `FormControl ${className || ""}`,
@@ -2517,7 +2540,7 @@ Control2.displayName = "FORM_Control";
2517
2540
  // src/atoms/auto-sizing-input.tsx
2518
2541
  var import_themes52 = require("@radix-ui/themes");
2519
2542
  var import_react39 = require("react");
2520
- var import_jsx_runtime58 = require("react/jsx-runtime");
2543
+ var import_jsx_runtime59 = require("react/jsx-runtime");
2521
2544
  var useTextWidth = (text, font) => {
2522
2545
  const [textWidth, setTextWidth] = (0, import_react39.useState)(0);
2523
2546
  (0, import_react39.useEffect)(() => {
@@ -2617,7 +2640,7 @@ var AutoSizingInput = (0, import_react39.forwardRef)(
2617
2640
  (_a2 = inputRef.current) == null ? void 0 : _a2.focus();
2618
2641
  }
2619
2642
  }, [inputRef]);
2620
- return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
2643
+ return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
2621
2644
  import_themes52.Box,
2622
2645
  {
2623
2646
  className: "auto-sizing-input wrapper",
@@ -2625,7 +2648,7 @@ var AutoSizingInput = (0, import_react39.forwardRef)(
2625
2648
  minWidth,
2626
2649
  onClick,
2627
2650
  style: { width: dynamicWidth },
2628
- children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("input", __spreadValues({ onChange: handleChange, ref: inputRef, value }, rest))
2651
+ children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("input", __spreadValues({ onChange: handleChange, ref: inputRef, value }, rest))
2629
2652
  }
2630
2653
  );
2631
2654
  }
@@ -2633,12 +2656,12 @@ var AutoSizingInput = (0, import_react39.forwardRef)(
2633
2656
  AutoSizingInput.displayName = "AutoSizingInput";
2634
2657
 
2635
2658
  // src/atoms/bullet-text.tsx
2636
- var import_jsx_runtime59 = require("react/jsx-runtime");
2659
+ var import_jsx_runtime60 = require("react/jsx-runtime");
2637
2660
 
2638
2661
  // src/atoms/list.tsx
2639
2662
  var import_react40 = require("react");
2640
2663
  var import_clsx28 = require("clsx");
2641
- var import_jsx_runtime60 = require("react/jsx-runtime");
2664
+ var import_jsx_runtime61 = require("react/jsx-runtime");
2642
2665
  var ListContext = (0, import_react40.createContext)({
2643
2666
  size: "large"
2644
2667
  });
@@ -2782,15 +2805,15 @@ function statusLabelOf(status) {
2782
2805
  }
2783
2806
 
2784
2807
  // src/app/roleplay/parts/analysis-section.tsx
2785
- var import_jsx_runtime61 = require("react/jsx-runtime");
2808
+ var import_jsx_runtime62 = require("react/jsx-runtime");
2786
2809
  function Section2({
2787
2810
  title,
2788
2811
  desc,
2789
2812
  children
2790
2813
  }) {
2791
- return /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("section", { children: [
2792
- /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(import_themes7.Box, { mb: "3", children: [
2793
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
2814
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("section", { children: [
2815
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(import_themes7.Box, { mb: "3", children: [
2816
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
2794
2817
  Heading2,
2795
2818
  {
2796
2819
  size: { initial: "4", md: "5" },
@@ -2799,7 +2822,7 @@ function Section2({
2799
2822
  children: title
2800
2823
  }
2801
2824
  ),
2802
- desc ? /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(import_themes7.Box, { mt: "1", style: { maxWidth: "65ch" }, children: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(Typo, { as: "p", color: "gray", variant: "body", children: desc }) }) : null
2825
+ desc ? /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_themes7.Box, { mt: "1", style: { maxWidth: "65ch" }, children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Typo, { as: "p", color: "gray", variant: "body", children: desc }) }) : null
2803
2826
  ] }),
2804
2827
  children
2805
2828
  ] });
@@ -2813,9 +2836,9 @@ function AnalysisSection({
2813
2836
  if (items.length === 0) return null;
2814
2837
  const accentBorder = tone === "good" ? "var(--green-a6)" : "var(--amber-a6)";
2815
2838
  const numColor = tone === "good" ? "var(--green-11)" : "var(--amber-11)";
2816
- return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(Section2, { desc, title, children: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(import_themes23.Flex, { direction: "column", children: items.map((item, index) => /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(import_themes7.Box, { children: [
2817
- index > 0 && /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(import_themes40.Separator, { size: "4" }),
2818
- /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(
2839
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Section2, { desc, title, children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_themes23.Flex, { direction: "column", children: items.map((item, index) => /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(import_themes7.Box, { children: [
2840
+ index > 0 && /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_themes40.Separator, { size: "4" }),
2841
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(
2819
2842
  import_themes23.Flex,
2820
2843
  {
2821
2844
  gap: "3",
@@ -2823,7 +2846,7 @@ function AnalysisSection({
2823
2846
  py: "3",
2824
2847
  style: { borderLeft: `2px solid ${accentBorder}` },
2825
2848
  children: [
2826
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
2849
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
2827
2850
  Typo,
2828
2851
  {
2829
2852
  as: "span",
@@ -2834,9 +2857,9 @@ function AnalysisSection({
2834
2857
  children: index + 1
2835
2858
  }
2836
2859
  ),
2837
- /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(import_themes7.Box, { style: { minWidth: 0 }, children: [
2838
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(Typo, { as: "p", variant: "body", weight: "medium", children: item.title }),
2839
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(import_themes7.Box, { mt: "1", style: { maxWidth: "65ch" }, children: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(Typo, { as: "p", variant: "body", children: item.detail }) })
2860
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(import_themes7.Box, { style: { minWidth: 0 }, children: [
2861
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Typo, { as: "p", variant: "body", weight: "medium", children: item.title }),
2862
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_themes7.Box, { mt: "1", style: { maxWidth: "65ch" }, children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Typo, { as: "p", variant: "body", children: item.detail }) })
2840
2863
  ] })
2841
2864
  ]
2842
2865
  }
@@ -2845,15 +2868,15 @@ function AnalysisSection({
2845
2868
  }
2846
2869
 
2847
2870
  // src/app/roleplay/parts/coaching-panel.tsx
2848
- var import_jsx_runtime62 = require("react/jsx-runtime");
2871
+ var import_jsx_runtime63 = require("react/jsx-runtime");
2849
2872
  function Section3({
2850
2873
  title,
2851
2874
  desc,
2852
2875
  children
2853
2876
  }) {
2854
- return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("section", { children: [
2855
- /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(import_themes7.Box, { mb: "3", children: [
2856
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
2877
+ return /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("section", { children: [
2878
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(import_themes7.Box, { mb: "3", children: [
2879
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
2857
2880
  Heading2,
2858
2881
  {
2859
2882
  size: { initial: "4", md: "5" },
@@ -2862,21 +2885,21 @@ function Section3({
2862
2885
  children: title
2863
2886
  }
2864
2887
  ),
2865
- desc ? /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_themes7.Box, { mt: "1", style: { maxWidth: "65ch" }, children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Typo, { as: "p", color: "gray", variant: "body", children: desc }) }) : null
2888
+ desc ? /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_themes7.Box, { mt: "1", style: { maxWidth: "65ch" }, children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(Typo, { as: "p", color: "gray", variant: "body", children: desc }) }) : null
2866
2889
  ] }),
2867
2890
  children
2868
2891
  ] });
2869
2892
  }
2870
2893
  function CoachingPanel({ skills }) {
2871
2894
  if (skills.length === 0) return null;
2872
- return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Section3, { desc: "\uB2E4\uC74C \uC7AC\uB3C4\uC804\uC5D0 \uBC14\uB85C \uC4F8 \uB300\uD654 \uAE30\uC220", title: "\uC989\uC2DC \uC801\uC6A9 \uC2A4\uD0AC", children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_themes24.Grid, { columns: "1", gap: "6", children: skills.map((skill, index) => /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(
2895
+ return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(Section3, { desc: "\uB2E4\uC74C \uC7AC\uB3C4\uC804\uC5D0 \uBC14\uB85C \uC4F8 \uB300\uD654 \uAE30\uC220", title: "\uC989\uC2DC \uC801\uC6A9 \uC2A4\uD0AC", children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_themes24.Grid, { columns: "1", gap: "6", children: skills.map((skill, index) => /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(
2873
2896
  Card,
2874
2897
  {
2875
2898
  style: { padding: "var(--space-3)" },
2876
2899
  variant: "surface",
2877
2900
  children: [
2878
- /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(import_themes23.Flex, { align: "center", gap: "2", children: [
2879
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
2901
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(import_themes23.Flex, { align: "center", gap: "2", children: [
2902
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
2880
2903
  import_themes23.Flex,
2881
2904
  {
2882
2905
  align: "center",
@@ -2888,7 +2911,7 @@ function CoachingPanel({ skills }) {
2888
2911
  background: "var(--accent-9)",
2889
2912
  flexShrink: 0
2890
2913
  },
2891
- children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
2914
+ children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
2892
2915
  Typo,
2893
2916
  {
2894
2917
  as: "span",
@@ -2901,10 +2924,10 @@ function CoachingPanel({ skills }) {
2901
2924
  )
2902
2925
  }
2903
2926
  ),
2904
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Typo, { as: "span", variant: "body", weight: "medium", children: skill.title })
2927
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(Typo, { as: "span", variant: "body", weight: "medium", children: skill.title })
2905
2928
  ] }),
2906
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_themes7.Box, { mt: "2", style: { maxWidth: "65ch" }, children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Typo, { as: "p", variant: "body", children: skill.description }) }),
2907
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
2929
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_themes7.Box, { mt: "2", style: { maxWidth: "65ch" }, children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(Typo, { as: "p", variant: "body", children: skill.description }) }),
2930
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
2908
2931
  import_themes7.Box,
2909
2932
  {
2910
2933
  mt: "2",
@@ -2913,7 +2936,7 @@ function CoachingPanel({ skills }) {
2913
2936
  borderRadius: "var(--radius-2)",
2914
2937
  background: "var(--accent-a2)"
2915
2938
  },
2916
- children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Typo, { as: "p", style: { color: "var(--accent-11)" }, variant: "body", children: skill.example })
2939
+ children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(Typo, { as: "p", style: { color: "var(--accent-11)" }, variant: "body", children: skill.example })
2917
2940
  }
2918
2941
  )
2919
2942
  ]
@@ -2923,14 +2946,14 @@ function CoachingPanel({ skills }) {
2923
2946
  }
2924
2947
 
2925
2948
  // src/app/roleplay/parts/speech-share-bar.tsx
2926
- var import_jsx_runtime63 = require("react/jsx-runtime");
2949
+ var import_jsx_runtime64 = require("react/jsx-runtime");
2927
2950
  function SpeechShareBar({
2928
2951
  share
2929
2952
  }) {
2930
2953
  const isOvertalking = share.userPct > SPEECH_OVERTALK_THRESHOLD;
2931
- return /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(import_themes7.Box, { children: [
2932
- /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(import_themes23.Flex, { align: "center", justify: "between", mb: "1", children: [
2933
- /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(
2954
+ return /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(import_themes7.Box, { children: [
2955
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(import_themes23.Flex, { align: "center", justify: "between", mb: "1", children: [
2956
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(
2934
2957
  Typo,
2935
2958
  {
2936
2959
  as: "span",
@@ -2946,13 +2969,13 @@ function SpeechShareBar({
2946
2969
  ]
2947
2970
  }
2948
2971
  ),
2949
- /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(Typo, { as: "span", color: "gray", variant: "caption", children: [
2972
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(Typo, { as: "span", color: "gray", variant: "caption", children: [
2950
2973
  "\uC0C1\uB300 ",
2951
2974
  share.partnerPct,
2952
2975
  "%"
2953
2976
  ] })
2954
2977
  ] }),
2955
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
2978
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
2956
2979
  import_themes23.Flex,
2957
2980
  {
2958
2981
  style: {
@@ -2961,7 +2984,7 @@ function SpeechShareBar({
2961
2984
  overflow: "hidden",
2962
2985
  background: "var(--gray-4)"
2963
2986
  },
2964
- children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
2987
+ children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
2965
2988
  import_themes7.Box,
2966
2989
  {
2967
2990
  style: {
@@ -2972,12 +2995,12 @@ function SpeechShareBar({
2972
2995
  )
2973
2996
  }
2974
2997
  ),
2975
- isOvertalking ? /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(Typo, { as: "p", color: "red", mt: "1", variant: "caption", children: "\uC0C1\uB300\uC758 \uB9D0\uC744 \uB354 \uB4E3\uACE0 \uC9C8\uBB38\xB7\uACBD\uCCAD\uC758 \uBE44\uC911\uC744 \uB192\uC5EC \uBCF4\uC138\uC694" }) : null
2998
+ isOvertalking ? /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(Typo, { as: "p", color: "red", mt: "1", variant: "caption", children: "\uC0C1\uB300\uC758 \uB9D0\uC744 \uB354 \uB4E3\uACE0 \uC9C8\uBB38\xB7\uACBD\uCCAD\uC758 \uBE44\uC911\uC744 \uB192\uC5EC \uBCF4\uC138\uC694" }) : null
2976
2999
  ] });
2977
3000
  }
2978
3001
 
2979
3002
  // src/app/roleplay/parts/score-summary.tsx
2980
- var import_jsx_runtime64 = require("react/jsx-runtime");
3003
+ var import_jsx_runtime65 = require("react/jsx-runtime");
2981
3004
  function ScoreSummary({
2982
3005
  detail,
2983
3006
  report,
@@ -2986,18 +3009,18 @@ function ScoreSummary({
2986
3009
  var _a;
2987
3010
  const scoreValue = (_a = detail.totalScore) != null ? _a : report.totalScore;
2988
3011
  const comment = report.comment;
2989
- return /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(
3012
+ return /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(
2990
3013
  import_themes24.Grid,
2991
3014
  {
2992
3015
  align: "start",
2993
3016
  columns: comment ? { initial: "1", md: "minmax(0, 240px) 1fr" } : "1",
2994
3017
  gap: "5",
2995
3018
  children: [
2996
- /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(Card, { variant: "surface", children: [
2997
- /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(import_themes23.Flex, { align: "center", direction: "column", gap: "2", py: "3", children: [
2998
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(Typo, { as: "p", color: "gray", variant: "body", weight: "medium", children: "\uC885\uD569 \uC810\uC218" }),
2999
- /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(import_themes23.Flex, { align: "baseline", gap: "1", children: [
3000
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
3019
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(Card, { variant: "surface", children: [
3020
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(import_themes23.Flex, { align: "center", direction: "column", gap: "2", py: "3", children: [
3021
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(Typo, { as: "p", color: "gray", variant: "body", weight: "medium", children: "\uC885\uD569 \uC810\uC218" }),
3022
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(import_themes23.Flex, { align: "baseline", gap: "1", children: [
3023
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
3001
3024
  Typo,
3002
3025
  {
3003
3026
  as: "span",
@@ -3011,18 +3034,18 @@ function ScoreSummary({
3011
3034
  children: scoreValue != null ? scoreValue : "\u2014"
3012
3035
  }
3013
3036
  ),
3014
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(Typo, { as: "span", color: "gray", mono: true, variant: "subtitle", children: "/100" })
3037
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(Typo, { as: "span", color: "gray", mono: true, variant: "subtitle", children: "/100" })
3015
3038
  ] })
3016
3039
  ] }),
3017
- speechShare ? /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(import_jsx_runtime64.Fragment, { children: [
3018
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_themes40.Separator, { my: "3", size: "4" }),
3019
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(SpeechShareBar, { share: speechShare })
3040
+ speechShare ? /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(import_jsx_runtime65.Fragment, { children: [
3041
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_themes40.Separator, { my: "3", size: "4" }),
3042
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(SpeechShareBar, { share: speechShare })
3020
3043
  ] }) : null
3021
3044
  ] }),
3022
- comment ? /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(import_themes23.Flex, { direction: "column", gap: "3", children: [
3023
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(Typo, { as: "p", variant: "body", weight: "medium", children: "\uC885\uD569 \uBD84\uC11D" }),
3024
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_themes7.Box, { style: { maxWidth: "65ch" }, children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(Typo, { as: "p", variant: "body", children: comment }) }),
3025
- report.deduction ? /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(
3045
+ comment ? /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(import_themes23.Flex, { direction: "column", gap: "3", children: [
3046
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(Typo, { as: "p", variant: "body", weight: "medium", children: "\uC885\uD569 \uBD84\uC11D" }),
3047
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_themes7.Box, { style: { maxWidth: "65ch" }, children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(Typo, { as: "p", variant: "body", children: comment }) }),
3048
+ report.deduction ? /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(
3026
3049
  import_themes7.Box,
3027
3050
  {
3028
3051
  pl: "3",
@@ -3034,7 +3057,7 @@ function ScoreSummary({
3034
3057
  borderRadius: "var(--radius-2)"
3035
3058
  },
3036
3059
  children: [
3037
- /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(
3060
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(
3038
3061
  Typo,
3039
3062
  {
3040
3063
  as: "p",
@@ -3049,7 +3072,7 @@ function ScoreSummary({
3049
3072
  ]
3050
3073
  }
3051
3074
  ),
3052
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_themes7.Box, { mt: "1", style: { maxWidth: "65ch" }, children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
3075
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_themes7.Box, { mt: "1", style: { maxWidth: "65ch" }, children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
3053
3076
  Typo,
3054
3077
  {
3055
3078
  as: "p",
@@ -3076,10 +3099,58 @@ var import_react_table2 = require("@tanstack/react-table");
3076
3099
  var import_react42 = require("react");
3077
3100
  var import_themes53 = require("@radix-ui/themes");
3078
3101
 
3102
+ // src/molecules/empty-state.tsx
3103
+ var import_jsx_runtime66 = require("react/jsx-runtime");
3104
+ var ICON_SIZE = {
3105
+ illustration: 120,
3106
+ compact: 56
3107
+ };
3108
+ function EmptyState(_a) {
3109
+ var _b = _a, {
3110
+ size = "illustration",
3111
+ heading,
3112
+ body,
3113
+ icon
3114
+ } = _b, flexProps = __objRest(_b, [
3115
+ "size",
3116
+ "heading",
3117
+ "body",
3118
+ "icon"
3119
+ ]);
3120
+ const isCompact = size === "compact";
3121
+ const iconSize = ICON_SIZE[size];
3122
+ return /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(
3123
+ import_themes23.Flex,
3124
+ __spreadProps(__spreadValues({
3125
+ align: "center",
3126
+ direction: "column",
3127
+ gap: isCompact ? "2" : "3",
3128
+ justify: "center",
3129
+ py: isCompact ? "5" : "9",
3130
+ width: "100%"
3131
+ }, flexProps), {
3132
+ children: [
3133
+ icon != null ? icon : /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
3134
+ EmptyBoxIcon,
3135
+ {
3136
+ color: "var(--gray-8)",
3137
+ height: iconSize,
3138
+ width: iconSize
3139
+ }
3140
+ ),
3141
+ heading || body ? /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(import_themes23.Flex, { align: "center", direction: "column", gap: "1", children: [
3142
+ heading ? isCompact ? /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(Typo, { color: "gray", variant: "subtitle", children: heading }) : /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(Heading2, { color: "gray", variant: "heading5", children: heading }) : null,
3143
+ body ? /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(Typo, { color: "gray", variant: isCompact ? "caption" : "body", children: body }) : null
3144
+ ] }) : null
3145
+ ]
3146
+ })
3147
+ );
3148
+ }
3149
+
3079
3150
  // src/molecules/expand-table/row.tsx
3080
3151
  var import_react_table = require("@tanstack/react-table");
3081
3152
  var import_react41 = require("react");
3082
- var import_jsx_runtime65 = require("react/jsx-runtime");
3153
+ var import_jsx_runtime67 = require("react/jsx-runtime");
3083
3154
  function Row(props) {
3084
3155
  const { row, ExpandComp, gridTemplateColumns, getRowStyle, getCellStyle } = props;
3085
3156
  const [open, setOpen] = (0, import_react41.useState)(false);
@@ -3098,8 +3169,8 @@ function Row(props) {
3098
3169
  }
3099
3170
  return baseCls.join(" ");
3100
3171
  }, [ExpandComp, props.onRowClick]);
3101
- return /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: rowClassName, children: [
3102
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
3172
+ return /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)("div", { className: rowClassName, children: [
3173
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
3103
3174
  "button",
3104
3175
  {
3105
3176
  className: "tr",
@@ -3112,7 +3183,7 @@ function Row(props) {
3112
3183
  var _a, _b, _c;
3113
3184
  const autoSize = (_a = cell.column.columnDef.meta) == null ? void 0 : _a.autoSize;
3114
3185
  const justifyContent = ((_b = cell.column.columnDef.meta) == null ? void 0 : _b.align) || props.defaultAlign;
3115
- return /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(
3186
+ return /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(
3116
3187
  "div",
3117
3188
  {
3118
3189
  className: "td",
@@ -3123,7 +3194,7 @@ function Row(props) {
3123
3194
  }, (getCellStyle == null ? void 0 : getCellStyle(row.original)) || {}),
3124
3195
  children: [
3125
3196
  (0, import_react_table.flexRender)(cell.column.columnDef.cell, cell.getContext()),
3126
- ((_c = cell.column.columnDef.meta) == null ? void 0 : _c.OpenBtn) ? /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
3197
+ ((_c = cell.column.columnDef.meta) == null ? void 0 : _c.OpenBtn) ? /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
3127
3198
  cell.column.columnDef.meta.OpenBtn,
3128
3199
  {
3129
3200
  data: row.original,
@@ -3139,12 +3210,12 @@ function Row(props) {
3139
3210
  },
3140
3211
  `tr_${row.id}`
3141
3212
  ),
3142
- ExpandComp ? /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(Collapse, { open, children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("div", { className: "expand-comp-wrapper", children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(ExpandComp, { row }) }) }) : null
3213
+ ExpandComp ? /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(Collapse, { open, children: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("div", { className: "expand-comp-wrapper", children: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(ExpandComp, { row }) }) }) : null
3143
3214
  ] }, `tr-wrapper_${row.id}`);
3144
3215
  }
3145
3216
 
3146
3217
  // src/molecules/expand-table/index.tsx
3147
- var import_jsx_runtime66 = require("react/jsx-runtime");
3218
+ var import_jsx_runtime68 = require("react/jsx-runtime");
3148
3219
  var sortButtonColorMapper = {
3149
3220
  card: {
3150
3221
  selected: "var(--iris-10)",
@@ -3225,7 +3296,7 @@ function ExpandTable(props) {
3225
3296
  const helpCompRender = (0, import_react42.useCallback)(
3226
3297
  (rowLength) => {
3227
3298
  if (isLoading) {
3228
- return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
3299
+ return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
3229
3300
  import_themes23.Flex,
3230
3301
  {
3231
3302
  align: "center",
@@ -3233,12 +3304,12 @@ function ExpandTable(props) {
3233
3304
  justify: "center",
3234
3305
  p: "5",
3235
3306
  width: "100%",
3236
- children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_themes50.Spinner, {})
3307
+ children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(import_themes50.Spinner, {})
3237
3308
  }
3238
3309
  );
3239
3310
  }
3240
3311
  if (rowLength === 0) {
3241
- return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("div", { className: "tr", children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_themes23.Flex, { align: "center", justify: "center", children: placeholder || /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(Typo, { color: "gray", mb: "6", mt: "6", variant: "body", children: "\uB370\uC774\uD130\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4" }) }) }, "expand_placeholder");
3312
+ return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("div", { className: "tr", children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(import_themes23.Flex, { align: "center", justify: "center", children: placeholder || /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(EmptyState, { heading: "\uB370\uC774\uD130\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4", size: "compact" }) }) }, "expand_placeholder");
3242
3313
  }
3243
3314
  return null;
3244
3315
  },
@@ -3248,9 +3319,9 @@ function ExpandTable(props) {
3248
3319
  if (!data) return 0;
3249
3320
  return Math.ceil(data.length / pageSize);
3250
3321
  }, [data, pageSize]);
3251
- return /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: `expand-table-wrapper ${variant}${slim ? " slim" : ""}`, children: [
3252
- /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "expand-table", style: tableStyle, children: [
3253
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("div", { className: "thead", children: getHeaderGroups().map((headerGroup) => /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
3322
+ return /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)("div", { className: `expand-table-wrapper ${variant}${slim ? " slim" : ""}`, children: [
3323
+ /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)("div", { className: "expand-table", style: tableStyle, children: [
3324
+ /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("div", { className: "thead", children: getHeaderGroups().map((headerGroup) => /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
3254
3325
  "div",
3255
3326
  {
3256
3327
  className: "tr",
@@ -3261,36 +3332,36 @@ function ExpandTable(props) {
3261
3332
  const sortedState = header.column.getIsSorted();
3262
3333
  const justifyContent = ((_a = header.column.columnDef.meta) == null ? void 0 : _a.align) || defaultAlign;
3263
3334
  if (sortable) {
3264
- return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("div", { className: `${justifyContent} th`, children: /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(
3335
+ return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("div", { className: `${justifyContent} th`, children: /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)(
3265
3336
  "button",
3266
3337
  {
3267
3338
  onClick: header.column.getToggleSortingHandler(),
3268
3339
  style: { cursor: "pointer" },
3269
3340
  type: "button",
3270
3341
  children: [
3271
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(Typo, { as: "div", variant: "body", children: (0, import_react_table2.flexRender)(
3342
+ /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(Typo, { as: "div", variant: "body", children: (0, import_react_table2.flexRender)(
3272
3343
  header.column.columnDef.header,
3273
3344
  header.getContext()
3274
3345
  ) }),
3275
- /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(
3346
+ /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)(
3276
3347
  import_themes23.Flex,
3277
3348
  {
3278
3349
  direction: "column",
3279
3350
  style: { marginLeft: "var(--space-2)" },
3280
3351
  children: [
3281
- sortedState === false && /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
3352
+ sortedState === false && /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
3282
3353
  TriangleArrowDownIcon,
3283
3354
  {
3284
3355
  color: sortButtonColorMapper[variant].unselected
3285
3356
  }
3286
3357
  ),
3287
- sortedState === "asc" && /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
3358
+ sortedState === "asc" && /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
3288
3359
  TriangleArrowUpIcon,
3289
3360
  {
3290
3361
  color: sortButtonColorMapper[variant].selected
3291
3362
  }
3292
3363
  ),
3293
- sortedState === "desc" && /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
3364
+ sortedState === "desc" && /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
3294
3365
  TriangleArrowDownIcon,
3295
3366
  {
3296
3367
  color: sortButtonColorMapper[variant].selected
@@ -3303,7 +3374,7 @@ function ExpandTable(props) {
3303
3374
  }
3304
3375
  ) }, header.id);
3305
3376
  }
3306
- return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("div", { className: `${justifyContent} th`, children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(Typo, { as: "div", variant: "body", children: (0, import_react_table2.flexRender)(
3377
+ return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("div", { className: `${justifyContent} th`, children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(Typo, { as: "div", variant: "body", children: (0, import_react_table2.flexRender)(
3307
3378
  header.column.columnDef.header,
3308
3379
  header.getContext()
3309
3380
  ) }) }, header.id);
@@ -3311,8 +3382,8 @@ function ExpandTable(props) {
3311
3382
  },
3312
3383
  headerGroup.id
3313
3384
  )) }),
3314
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_themes53.ScrollArea, { className: "tbody", children: helpCompRender(rowModels.rows.length) || rowModels.rows.map((row) => {
3315
- return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
3385
+ /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(import_themes53.ScrollArea, { className: "tbody", children: helpCompRender(rowModels.rows.length) || rowModels.rows.map((row) => {
3386
+ return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
3316
3387
  Row,
3317
3388
  {
3318
3389
  ExpandComp,
@@ -3327,7 +3398,7 @@ function ExpandTable(props) {
3327
3398
  );
3328
3399
  }) })
3329
3400
  ] }),
3330
- showPagination ? /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_themes23.Flex, { justify: "end", pt: "4", width: "100%", children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
3401
+ showPagination ? /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(import_themes23.Flex, { justify: "end", pt: "4", width: "100%", children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
3331
3402
  Pagination,
3332
3403
  {
3333
3404
  count: pageCount,
@@ -3340,13 +3411,13 @@ function ExpandTable(props) {
3340
3411
  }
3341
3412
 
3342
3413
  // src/molecules/navigation.tsx
3343
- var import_jsx_runtime67 = require("react/jsx-runtime");
3414
+ var import_jsx_runtime69 = require("react/jsx-runtime");
3344
3415
 
3345
3416
  // src/molecules/date-picker/index.tsx
3346
3417
  var import_react43 = require("react");
3347
3418
  var import_react_datepicker = __toESM(require("react-datepicker"), 1);
3348
3419
  var import_locale = require("date-fns/locale");
3349
- var import_jsx_runtime68 = require("react/jsx-runtime");
3420
+ var import_jsx_runtime70 = require("react/jsx-runtime");
3350
3421
  var DatePicker = (0, import_react43.forwardRef)(
3351
3422
  (props, ref) => {
3352
3423
  const _a = props, { fullWidth } = _a, rest = __objRest(_a, ["fullWidth"]);
@@ -3377,7 +3448,7 @@ var DatePicker = (0, import_react43.forwardRef)(
3377
3448
  setIsMonthDropdownOpen
3378
3449
  }));
3379
3450
  }, [isMonthDropdownOpen, isYearDropdownOpen, props]);
3380
- return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(import_themes23.Flex, { p: "0", width: "100%", children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
3451
+ return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_themes23.Flex, { p: "0", width: "100%", children: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
3381
3452
  import_react_datepicker.default,
3382
3453
  __spreadProps(__spreadValues({
3383
3454
  dateFormat: "yyyy/MM/dd h:mm aa",
@@ -3425,19 +3496,19 @@ function DropdownSelector({
3425
3496
  });
3426
3497
  }
3427
3498
  }, [isOpen]);
3428
- return /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)(Popover.Root, { modal: true, onOpenChange, open: isOpen, children: [
3429
- /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(Popover.Trigger, { children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(Button, { className: "react-datepicker_dropdown_header", variant: "ghost", children: /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)(Heading2, { variant: "heading4", weight: "regular", children: [
3499
+ return /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)(Popover.Root, { modal: true, onOpenChange, open: isOpen, children: [
3500
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(Popover.Trigger, { children: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(Button, { className: "react-datepicker_dropdown_header", variant: "ghost", children: /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)(Heading2, { variant: "heading4", weight: "regular", children: [
3430
3501
  selectedValue,
3431
3502
  suffix
3432
3503
  ] }) }) }),
3433
- /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(Popover.Content, { side: "bottom", children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
3504
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(Popover.Content, { side: "bottom", children: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
3434
3505
  import_themes7.Box,
3435
3506
  {
3436
3507
  maxHeight: "200px",
3437
3508
  overflowY: "auto",
3438
3509
  ref: scrollContainerRef,
3439
3510
  style: { scrollbarWidth: "none" },
3440
- children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(import_themes23.Flex, { direction: "column", gap: "1", children: options.map((item) => /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
3511
+ children: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_themes23.Flex, { direction: "column", gap: "1", children: options.map((item) => /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
3441
3512
  Button,
3442
3513
  {
3443
3514
  className: "react-datepicker_dropdown_item",
@@ -3451,7 +3522,7 @@ function DropdownSelector({
3451
3522
  e.preventDefault();
3452
3523
  },
3453
3524
  variant: "transparent",
3454
- children: /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)(Typo, { weight: item === selectedValue ? "bold" : void 0, children: [
3525
+ children: /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)(Typo, { weight: item === selectedValue ? "bold" : void 0, children: [
3455
3526
  item,
3456
3527
  suffix
3457
3528
  ] })
@@ -3482,8 +3553,8 @@ var getRenderCustomHeader = (props) => {
3482
3553
  } = props;
3483
3554
  const year = date ? new Date(date).getFullYear() : "-";
3484
3555
  const month = date ? new Date(date).getMonth() + 1 : "-";
3485
- return /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)(import_themes23.Flex, { align: "center", justify: "between", pl: "2", pr: "2", children: [
3486
- /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
3556
+ return /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)(import_themes23.Flex, { align: "center", justify: "between", pl: "2", pr: "2", children: [
3557
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
3487
3558
  IconButton,
3488
3559
  {
3489
3560
  className: "react-datepicker_dropdown_header",
@@ -3491,11 +3562,11 @@ var getRenderCustomHeader = (props) => {
3491
3562
  onClick: decreaseMonth,
3492
3563
  type: "button",
3493
3564
  variant: "ghost",
3494
- children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(import_react_icons2.ChevronLeftIcon, {})
3565
+ children: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_react_icons2.ChevronLeftIcon, {})
3495
3566
  }
3496
3567
  ),
3497
- /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)(import_themes23.Flex, { gap: "3", children: [
3498
- /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
3568
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)(import_themes23.Flex, { gap: "3", children: [
3569
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
3499
3570
  DropdownSelector,
3500
3571
  {
3501
3572
  isOpen: isYearDropdownOpen,
@@ -3509,7 +3580,7 @@ var getRenderCustomHeader = (props) => {
3509
3580
  suffix: "\uB144"
3510
3581
  }
3511
3582
  ),
3512
- /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
3583
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
3513
3584
  DropdownSelector,
3514
3585
  {
3515
3586
  isOpen: isMonthDropdownOpen,
@@ -3524,7 +3595,7 @@ var getRenderCustomHeader = (props) => {
3524
3595
  }
3525
3596
  )
3526
3597
  ] }),
3527
- /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
3598
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
3528
3599
  IconButton,
3529
3600
  {
3530
3601
  className: "react-datepicker_dropdown_header",
@@ -3532,7 +3603,7 @@ var getRenderCustomHeader = (props) => {
3532
3603
  onClick: increaseMonth,
3533
3604
  type: "button",
3534
3605
  variant: "ghost",
3535
- children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(import_react_icons2.ChevronRightIcon, {})
3606
+ children: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_react_icons2.ChevronRightIcon, {})
3536
3607
  }
3537
3608
  )
3538
3609
  ] });
@@ -3543,12 +3614,12 @@ var getRenderCustomHeader = (props) => {
3543
3614
  // src/molecules/dot-navigation.tsx
3544
3615
  var import_react44 = require("react");
3545
3616
  var import_react_icons3 = require("@radix-ui/react-icons");
3546
- var import_jsx_runtime69 = require("react/jsx-runtime");
3617
+ var import_jsx_runtime71 = require("react/jsx-runtime");
3547
3618
 
3548
3619
  // src/molecules/stepper.tsx
3549
3620
  var import_react45 = require("react");
3550
3621
  var import_themes54 = require("@radix-ui/themes");
3551
- var import_jsx_runtime70 = require("react/jsx-runtime");
3622
+ var import_jsx_runtime72 = require("react/jsx-runtime");
3552
3623
  var StepContext = (0, import_react45.createContext)({
3553
3624
  active: false,
3554
3625
  completed: false,
@@ -3558,20 +3629,20 @@ var StepContext = (0, import_react45.createContext)({
3558
3629
  // src/molecules/tag-selector.tsx
3559
3630
  var import_react46 = require("react");
3560
3631
  var import_react_icons4 = require("@radix-ui/react-icons");
3561
- var import_jsx_runtime71 = require("react/jsx-runtime");
3632
+ var import_jsx_runtime73 = require("react/jsx-runtime");
3562
3633
 
3563
3634
  // src/molecules/learning-post.tsx
3564
- var import_jsx_runtime72 = require("react/jsx-runtime");
3635
+ var import_jsx_runtime74 = require("react/jsx-runtime");
3565
3636
 
3566
3637
  // src/molecules/force-refresh.tsx
3567
3638
  var import_react_icons5 = require("@radix-ui/react-icons");
3568
- var import_jsx_runtime73 = require("react/jsx-runtime");
3639
+ var import_jsx_runtime75 = require("react/jsx-runtime");
3569
3640
 
3570
3641
  // src/molecules/date-picker/date-picker-button.tsx
3571
3642
  var import_react47 = require("react");
3572
3643
  var import_date_fns2 = require("date-fns");
3573
3644
  var import_clsx29 = require("clsx");
3574
- var import_jsx_runtime74 = require("react/jsx-runtime");
3645
+ var import_jsx_runtime76 = require("react/jsx-runtime");
3575
3646
 
3576
3647
  // src/molecules/time-select.tsx
3577
3648
  var import_react48 = require("react");
@@ -3598,34 +3669,34 @@ for (const opt of AI_CALLOUT_ICON_OPTIONS) {
3598
3669
  }
3599
3670
 
3600
3671
  // src/molecules/time-select.tsx
3601
- var import_jsx_runtime75 = require("react/jsx-runtime");
3672
+ var import_jsx_runtime77 = require("react/jsx-runtime");
3602
3673
 
3603
3674
  // src/molecules/radio-button-card.tsx
3604
3675
  var import_react49 = require("react");
3605
- var import_jsx_runtime76 = require("react/jsx-runtime");
3676
+ var import_jsx_runtime78 = require("react/jsx-runtime");
3606
3677
  var RadioCardContext = (0, import_react49.createContext)({});
3607
3678
 
3608
3679
  // src/molecules/download-card.tsx
3609
3680
  var import_react_icons6 = require("@radix-ui/react-icons");
3610
- var import_jsx_runtime77 = require("react/jsx-runtime");
3681
+ var import_jsx_runtime79 = require("react/jsx-runtime");
3611
3682
 
3612
3683
  // src/molecules/ghost-post.tsx
3613
- var import_jsx_runtime78 = require("react/jsx-runtime");
3684
+ var import_jsx_runtime80 = require("react/jsx-runtime");
3614
3685
 
3615
3686
  // src/molecules/curriculumV2/curriculum-context.tsx
3616
3687
  var import_react50 = require("react");
3617
- var import_jsx_runtime79 = require("react/jsx-runtime");
3688
+ var import_jsx_runtime81 = require("react/jsx-runtime");
3618
3689
  var CurriculumContext = (0, import_react50.createContext)(
3619
3690
  void 0
3620
3691
  );
3621
3692
 
3622
3693
  // src/molecules/curriculumV2/curriculum-sub-nav.tsx
3623
3694
  var import_react51 = require("react");
3624
- var import_jsx_runtime80 = require("react/jsx-runtime");
3695
+ var import_jsx_runtime82 = require("react/jsx-runtime");
3625
3696
 
3626
3697
  // src/molecules/curriculumV2/CurriculumContents/curriculum-video.tsx
3627
3698
  var import_react52 = require("react");
3628
- var import_jsx_runtime81 = require("react/jsx-runtime");
3699
+ var import_jsx_runtime83 = require("react/jsx-runtime");
3629
3700
 
3630
3701
  // src/molecules/curriculumV2/CurriculumContents/curriculum-review.tsx
3631
3702
  var import_react55 = require("react");
@@ -3636,88 +3707,88 @@ var import_react53 = require("react");
3636
3707
  var import_formik = require("formik");
3637
3708
  var import_lodash_es = require("lodash-es");
3638
3709
  var Yup = __toESM(require("yup"), 1);
3639
- var import_jsx_runtime82 = require("react/jsx-runtime");
3710
+ var import_jsx_runtime84 = require("react/jsx-runtime");
3640
3711
  var CurriculumReviewContext = (0, import_react53.createContext)(void 0);
3641
3712
 
3642
3713
  // src/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/start-review.tsx
3643
- var import_jsx_runtime83 = require("react/jsx-runtime");
3714
+ var import_jsx_runtime85 = require("react/jsx-runtime");
3644
3715
 
3645
3716
  // src/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/complete-review.tsx
3646
- var import_jsx_runtime84 = require("react/jsx-runtime");
3717
+ var import_jsx_runtime86 = require("react/jsx-runtime");
3647
3718
 
3648
3719
  // src/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-layout.tsx
3649
- var import_jsx_runtime85 = require("react/jsx-runtime");
3720
+ var import_jsx_runtime87 = require("react/jsx-runtime");
3650
3721
 
3651
3722
  // src/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-header.tsx
3652
- var import_jsx_runtime86 = require("react/jsx-runtime");
3723
+ var import_jsx_runtime88 = require("react/jsx-runtime");
3653
3724
 
3654
3725
  // src/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-footer.tsx
3655
- var import_jsx_runtime87 = require("react/jsx-runtime");
3726
+ var import_jsx_runtime89 = require("react/jsx-runtime");
3656
3727
 
3657
3728
  // src/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-radio.tsx
3658
3729
  var import_react54 = require("react");
3659
3730
 
3660
3731
  // src/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-comp.tsx
3661
- var import_jsx_runtime88 = require("react/jsx-runtime");
3732
+ var import_jsx_runtime90 = require("react/jsx-runtime");
3662
3733
 
3663
3734
  // src/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-radio.tsx
3664
- var import_jsx_runtime89 = require("react/jsx-runtime");
3735
+ var import_jsx_runtime91 = require("react/jsx-runtime");
3665
3736
 
3666
3737
  // src/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-text.tsx
3667
- var import_jsx_runtime90 = require("react/jsx-runtime");
3738
+ var import_jsx_runtime92 = require("react/jsx-runtime");
3668
3739
 
3669
3740
  // src/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-satisfaction-option.tsx
3670
- var import_jsx_runtime91 = require("react/jsx-runtime");
3741
+ var import_jsx_runtime93 = require("react/jsx-runtime");
3671
3742
 
3672
3743
  // src/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-satisfaction-text.tsx
3673
- var import_jsx_runtime92 = require("react/jsx-runtime");
3744
+ var import_jsx_runtime94 = require("react/jsx-runtime");
3674
3745
 
3675
3746
  // src/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-body.tsx
3676
- var import_jsx_runtime93 = require("react/jsx-runtime");
3747
+ var import_jsx_runtime95 = require("react/jsx-runtime");
3677
3748
 
3678
3749
  // src/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/index.tsx
3679
- var import_jsx_runtime94 = require("react/jsx-runtime");
3750
+ var import_jsx_runtime96 = require("react/jsx-runtime");
3680
3751
 
3681
3752
  // src/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/index.tsx
3682
- var import_jsx_runtime95 = require("react/jsx-runtime");
3753
+ var import_jsx_runtime97 = require("react/jsx-runtime");
3683
3754
 
3684
3755
  // src/molecules/curriculumV2/CurriculumContents/curriculum-review.tsx
3685
- var import_jsx_runtime96 = require("react/jsx-runtime");
3756
+ var import_jsx_runtime98 = require("react/jsx-runtime");
3686
3757
 
3687
3758
  // src/molecules/curriculumV2/CurriculumContents/curriculum-ai-traning.tsx
3688
3759
  var import_react56 = require("react");
3689
- var import_jsx_runtime97 = require("react/jsx-runtime");
3760
+ var import_jsx_runtime99 = require("react/jsx-runtime");
3690
3761
 
3691
3762
  // src/molecules/curriculumV2/CurriculumContents/curriculum-file-download.tsx
3692
3763
  var import_react57 = require("react");
3693
- var import_jsx_runtime98 = require("react/jsx-runtime");
3764
+ var import_jsx_runtime100 = require("react/jsx-runtime");
3694
3765
 
3695
3766
  // src/molecules/curriculumV2/CurriculumContents/index.tsx
3696
- var import_jsx_runtime99 = require("react/jsx-runtime");
3767
+ var import_jsx_runtime101 = require("react/jsx-runtime");
3697
3768
 
3698
3769
  // src/molecules/curriculumV2/CurriculumSidebar/index.tsx
3699
3770
  var import_react58 = require("react");
3700
3771
 
3701
3772
  // src/molecules/curriculumV2/CurriculumSidebar/Items/section-title.tsx
3702
- var import_jsx_runtime100 = require("react/jsx-runtime");
3773
+ var import_jsx_runtime102 = require("react/jsx-runtime");
3703
3774
 
3704
3775
  // src/molecules/curriculumV2/CurriculumSidebar/Items/curriculum-sidebar-item-wrapper.tsx
3705
- var import_jsx_runtime101 = require("react/jsx-runtime");
3776
+ var import_jsx_runtime103 = require("react/jsx-runtime");
3706
3777
 
3707
3778
  // src/molecules/curriculumV2/CurriculumSidebar/Items/curriculum-item-title.tsx
3708
- var import_jsx_runtime102 = require("react/jsx-runtime");
3779
+ var import_jsx_runtime104 = require("react/jsx-runtime");
3709
3780
 
3710
3781
  // src/molecules/curriculumV2/CurriculumSidebar/Items/section-item.tsx
3711
- var import_jsx_runtime103 = require("react/jsx-runtime");
3782
+ var import_jsx_runtime105 = require("react/jsx-runtime");
3712
3783
 
3713
3784
  // src/molecules/curriculumV2/CurriculumSidebar/sidebar-item.tsx
3714
- var import_jsx_runtime104 = require("react/jsx-runtime");
3785
+ var import_jsx_runtime106 = require("react/jsx-runtime");
3715
3786
 
3716
3787
  // src/molecules/curriculumV2/CurriculumSidebar/index.tsx
3717
- var import_jsx_runtime105 = require("react/jsx-runtime");
3788
+ var import_jsx_runtime107 = require("react/jsx-runtime");
3718
3789
 
3719
3790
  // src/molecules/curriculumV2/curriculum-v2-layout.tsx
3720
- var import_jsx_runtime106 = require("react/jsx-runtime");
3791
+ var import_jsx_runtime108 = require("react/jsx-runtime");
3721
3792
 
3722
3793
  // src/molecules/dynamic-form.tsx
3723
3794
  var import_react60 = require("react");
@@ -3727,26 +3798,26 @@ var import_themes55 = require("@radix-ui/themes");
3727
3798
 
3728
3799
  // src/context/dynamic-form-context.tsx
3729
3800
  var import_react59 = require("react");
3730
- var import_jsx_runtime107 = require("react/jsx-runtime");
3801
+ var import_jsx_runtime109 = require("react/jsx-runtime");
3731
3802
  var DynamicFormContext = (0, import_react59.createContext)(null);
3732
3803
 
3733
3804
  // src/molecules/dynamic-field.tsx
3734
- var import_jsx_runtime108 = require("react/jsx-runtime");
3805
+ var import_jsx_runtime110 = require("react/jsx-runtime");
3735
3806
 
3736
3807
  // src/molecules/dynamic-form.tsx
3737
- var import_jsx_runtime109 = require("react/jsx-runtime");
3808
+ var import_jsx_runtime111 = require("react/jsx-runtime");
3738
3809
 
3739
3810
  // src/molecules/one-on-one-guide-list.tsx
3740
3811
  var import_react61 = require("react");
3741
- var import_jsx_runtime110 = require("react/jsx-runtime");
3812
+ var import_jsx_runtime112 = require("react/jsx-runtime");
3742
3813
 
3743
3814
  // src/molecules/description-json-render.tsx
3744
- var import_jsx_runtime111 = require("react/jsx-runtime");
3815
+ var import_jsx_runtime113 = require("react/jsx-runtime");
3745
3816
 
3746
3817
  // src/molecules/training-info-guideline.tsx
3747
3818
  var import_react62 = require("react");
3748
3819
  var import_react_icons8 = require("@radix-ui/react-icons");
3749
- var import_jsx_runtime112 = require("react/jsx-runtime");
3820
+ var import_jsx_runtime114 = require("react/jsx-runtime");
3750
3821
 
3751
3822
  // src/molecules/dynamic-form-editor.tsx
3752
3823
  var import_react65 = require("react");
@@ -3754,26 +3825,26 @@ var import_react65 = require("react");
3754
3825
  // src/molecules/dynamic-form-editor-field-editor-panel.tsx
3755
3826
  var import_react63 = require("react");
3756
3827
  var import_themes56 = require("@radix-ui/themes");
3757
- var import_jsx_runtime113 = require("react/jsx-runtime");
3828
+ var import_jsx_runtime115 = require("react/jsx-runtime");
3758
3829
 
3759
3830
  // src/molecules/dynamic-form-editor-field-list-panel.tsx
3760
3831
  var import_react64 = require("react");
3761
3832
  var import_themes57 = require("@radix-ui/themes");
3762
- var import_jsx_runtime114 = require("react/jsx-runtime");
3833
+ var import_jsx_runtime116 = require("react/jsx-runtime");
3763
3834
 
3764
3835
  // src/molecules/dynamic-form-editor-issues-panel.tsx
3765
- var import_jsx_runtime115 = require("react/jsx-runtime");
3836
+ var import_jsx_runtime117 = require("react/jsx-runtime");
3766
3837
 
3767
3838
  // src/molecules/dynamic-form-editor-preview-panel.tsx
3768
- var import_jsx_runtime116 = require("react/jsx-runtime");
3839
+ var import_jsx_runtime118 = require("react/jsx-runtime");
3769
3840
 
3770
3841
  // src/molecules/dynamic-form-editor.tsx
3771
- var import_jsx_runtime117 = require("react/jsx-runtime");
3842
+ var import_jsx_runtime119 = require("react/jsx-runtime");
3772
3843
 
3773
3844
  // src/molecules/autocomplete-textfield.tsx
3774
3845
  var import_react66 = require("react");
3775
3846
  var import_themes58 = require("@radix-ui/themes");
3776
- var import_jsx_runtime118 = require("react/jsx-runtime");
3847
+ var import_jsx_runtime120 = require("react/jsx-runtime");
3777
3848
  var AutocompleteTextfield = (0, import_react66.forwardRef)(
3778
3849
  (_a, ref) => {
3779
3850
  var _b = _a, {
@@ -3899,8 +3970,8 @@ var AutocompleteTextfield = (0, import_react66.forwardRef)(
3899
3970
  const item = listRef.current.children[highlightedIndex];
3900
3971
  item.scrollIntoView({ block: "nearest" });
3901
3972
  }, [highlightedIndex]);
3902
- return /* @__PURE__ */ (0, import_jsx_runtime118.jsxs)(import_themes58.Box, { position: "relative", style: { width: "100%" }, children: [
3903
- /* @__PURE__ */ (0, import_jsx_runtime118.jsxs)(
3973
+ return /* @__PURE__ */ (0, import_jsx_runtime120.jsxs)(import_themes58.Box, { position: "relative", style: { width: "100%" }, children: [
3974
+ /* @__PURE__ */ (0, import_jsx_runtime120.jsxs)(
3904
3975
  TextField.Root,
3905
3976
  __spreadProps(__spreadValues({
3906
3977
  "aria-activedescendant": open && highlightedIndex >= 0 ? `${listboxId}-option-${highlightedIndex}` : void 0,
@@ -3926,12 +3997,12 @@ var AutocompleteTextfield = (0, import_react66.forwardRef)(
3926
3997
  value: inputValue
3927
3998
  }, rest), {
3928
3999
  children: [
3929
- slotLeft && /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(TextField.Slot, { side: "left", children: slotLeft }),
3930
- slotRight && /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(TextField.Slot, { side: "right", children: slotRight })
4000
+ slotLeft && /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(TextField.Slot, { side: "left", children: slotLeft }),
4001
+ slotRight && /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(TextField.Slot, { side: "right", children: slotRight })
3931
4002
  ]
3932
4003
  })
3933
4004
  ),
3934
- /* @__PURE__ */ (0, import_jsx_runtime118.jsxs)(
4005
+ /* @__PURE__ */ (0, import_jsx_runtime120.jsxs)(
3935
4006
  DropdownMenu.Root,
3936
4007
  {
3937
4008
  modal: false,
@@ -3943,7 +4014,7 @@ var AutocompleteTextfield = (0, import_react66.forwardRef)(
3943
4014
  },
3944
4015
  open,
3945
4016
  children: [
3946
- /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(DropdownMenu.Trigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(
4017
+ /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(DropdownMenu.Trigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(
3947
4018
  "span",
3948
4019
  {
3949
4020
  "aria-hidden": "true",
@@ -3958,7 +4029,7 @@ var AutocompleteTextfield = (0, import_react66.forwardRef)(
3958
4029
  }
3959
4030
  }
3960
4031
  ) }),
3961
- /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(
4032
+ /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(
3962
4033
  DropdownMenu.Content,
3963
4034
  {
3964
4035
  align: "start",
@@ -3975,7 +4046,7 @@ var AutocompleteTextfield = (0, import_react66.forwardRef)(
3975
4046
  padding: 0,
3976
4047
  width: "var(--radix-dropdown-menu-trigger-width)"
3977
4048
  },
3978
- children: filtered.length === 0 && emptyMessage !== null ? /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(import_themes58.Box, { px: "2", py: "2", children: /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(Typo, { color: "gray", children: emptyMessage }) }) : /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(
4049
+ children: filtered.length === 0 && emptyMessage !== null ? /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(import_themes58.Box, { px: "2", py: "2", children: /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(Typo, { color: "gray", children: emptyMessage }) }) : /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(
3979
4050
  "ul",
3980
4051
  {
3981
4052
  id: listboxId,
@@ -3984,7 +4055,7 @@ var AutocompleteTextfield = (0, import_react66.forwardRef)(
3984
4055
  style: { listStyle: "none", margin: 0, padding: 0 },
3985
4056
  children: filtered.map((option, index) => {
3986
4057
  const isHighlighted = index === highlightedIndex;
3987
- return /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(
4058
+ return /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(
3988
4059
  "li",
3989
4060
  {
3990
4061
  "aria-selected": isHighlighted,
@@ -4003,7 +4074,7 @@ var AutocompleteTextfield = (0, import_react66.forwardRef)(
4003
4074
  backgroundColor: isHighlighted ? "var(--accent-3)" : "transparent",
4004
4075
  transition: "background-color 80ms"
4005
4076
  },
4006
- children: /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(Typo, { variant: "body", children: option.label })
4077
+ children: /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(Typo, { variant: "body", children: option.label })
4007
4078
  },
4008
4079
  option.value
4009
4080
  );
@@ -4030,7 +4101,7 @@ var import_renderers = require("echarts/renderers");
4030
4101
  var import_components = require("echarts/components");
4031
4102
 
4032
4103
  // src/charts/horizontal-bar-chart.tsx
4033
- var import_jsx_runtime119 = require("react/jsx-runtime");
4104
+ var import_jsx_runtime121 = require("react/jsx-runtime");
4034
4105
 
4035
4106
  // src/charts/chart-theme.json
4036
4107
  var chart_theme_default = {
@@ -4181,7 +4252,7 @@ var EchartDefaultProps = {
4181
4252
  };
4182
4253
 
4183
4254
  // src/app/roleplay/chart/session-chart.tsx
4184
- var import_jsx_runtime120 = require("react/jsx-runtime");
4255
+ var import_jsx_runtime122 = require("react/jsx-runtime");
4185
4256
  function unwrapDefault(mod) {
4186
4257
  let current = mod;
4187
4258
  while (current !== null && typeof current === "object" && "default" in current) {
@@ -4241,7 +4312,7 @@ function Chart(_a) {
4241
4312
  };
4242
4313
  return deepMerge(baseOption, optionProp);
4243
4314
  }, [optionProp]);
4244
- return /* @__PURE__ */ (0, import_jsx_runtime120.jsx)("div", { ref, style: { width: "100%", height: "100%" }, children: mounted ? /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(
4315
+ return /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("div", { ref, style: { width: "100%", height: "100%" }, children: mounted ? /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(
4245
4316
  ReactEChartsCore,
4246
4317
  __spreadProps(__spreadValues(__spreadProps(__spreadValues({}, EchartDefaultProps), {
4247
4318
  echarts,
@@ -4290,7 +4361,7 @@ function useTokenColors(vars) {
4290
4361
  }
4291
4362
  setResolved(next);
4292
4363
  }, [key]);
4293
- const probe = /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(
4364
+ const probe = /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(
4294
4365
  "span",
4295
4366
  {
4296
4367
  "aria-hidden": true,
@@ -4302,7 +4373,7 @@ function useTokenColors(vars) {
4302
4373
  }
4303
4374
 
4304
4375
  // src/app/roleplay/parts/score-trend-section.tsx
4305
- var import_jsx_runtime121 = require("react/jsx-runtime");
4376
+ var import_jsx_runtime123 = require("react/jsx-runtime");
4306
4377
  function formatDateOnly(iso) {
4307
4378
  const d = new Date(iso);
4308
4379
  if (Number.isNaN(d.getTime())) return iso;
@@ -4313,9 +4384,9 @@ function Section4({
4313
4384
  desc,
4314
4385
  children
4315
4386
  }) {
4316
- return /* @__PURE__ */ (0, import_jsx_runtime121.jsxs)("section", { children: [
4317
- /* @__PURE__ */ (0, import_jsx_runtime121.jsxs)(import_themes7.Box, { mb: "3", children: [
4318
- /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(
4387
+ return /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)("section", { children: [
4388
+ /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)(import_themes7.Box, { mb: "3", children: [
4389
+ /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
4319
4390
  Heading2,
4320
4391
  {
4321
4392
  size: { initial: "4", md: "5" },
@@ -4324,14 +4395,14 @@ function Section4({
4324
4395
  children: title
4325
4396
  }
4326
4397
  ),
4327
- desc ? /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(import_themes7.Box, { mt: "1", style: { maxWidth: "65ch" }, children: /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(Typo, { as: "p", color: "gray", variant: "body", children: desc }) }) : null
4398
+ desc ? /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(import_themes7.Box, { mt: "1", style: { maxWidth: "65ch" }, children: /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(Typo, { as: "p", color: "gray", variant: "body", children: desc }) }) : null
4328
4399
  ] }),
4329
4400
  children
4330
4401
  ] });
4331
4402
  }
4332
4403
  function AttemptCell({ row }) {
4333
4404
  const d = row.original;
4334
- return /* @__PURE__ */ (0, import_jsx_runtime121.jsxs)(
4405
+ return /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)(
4335
4406
  Typo,
4336
4407
  {
4337
4408
  as: "span",
@@ -4347,11 +4418,11 @@ function AttemptCell({ row }) {
4347
4418
  );
4348
4419
  }
4349
4420
  function DateCell({ row }) {
4350
- return /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(Typo, { as: "span", mono: true, style: { color: "var(--gray-9)" }, variant: "body", children: formatDateOnly(row.original.createdAt) });
4421
+ return /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(Typo, { as: "span", mono: true, style: { color: "var(--gray-9)" }, variant: "body", children: formatDateOnly(row.original.createdAt) });
4351
4422
  }
4352
4423
  function ScoreCell({ row }) {
4353
4424
  var _a;
4354
- return /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(
4425
+ return /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
4355
4426
  Typo,
4356
4427
  {
4357
4428
  as: "span",
@@ -4365,9 +4436,9 @@ function ScoreCell({ row }) {
4365
4436
  function DeltaCell({ row }) {
4366
4437
  const { delta } = row.original;
4367
4438
  if (delta === null) {
4368
- return /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(Typo, { as: "span", mono: true, style: { color: "var(--gray-9)" }, variant: "body", children: "\u2014" });
4439
+ return /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(Typo, { as: "span", mono: true, style: { color: "var(--gray-9)" }, variant: "body", children: "\u2014" });
4369
4440
  }
4370
- return /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(Typo, { as: "span", mono: true, style: { color: "var(--gray-9)" }, variant: "body", children: delta > 0 ? `+${delta}` : `${delta}` });
4441
+ return /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(Typo, { as: "span", mono: true, style: { color: "var(--gray-9)" }, variant: "body", children: delta > 0 ? `+${delta}` : `${delta}` });
4371
4442
  }
4372
4443
  function ScoreTrendSection({
4373
4444
  history
@@ -4477,13 +4548,13 @@ function ScoreTrendSection({
4477
4548
  })
4478
4549
  ];
4479
4550
  }, []);
4480
- return /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(
4551
+ return /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
4481
4552
  Section4,
4482
4553
  {
4483
4554
  desc: `\uB3D9\uC77C \uB864\uD50C\uB808\uC789 \uCD5C\uADFC ${ordered.length}\uD68C\uCC28 \uCD1D\uC810 \uBCC0\uD654`,
4484
4555
  title: "\uCD1D\uC810 \uCD94\uC774",
4485
- children: /* @__PURE__ */ (0, import_jsx_runtime121.jsxs)(import_themes23.Flex, { direction: "column", gap: "4", children: [
4486
- /* @__PURE__ */ (0, import_jsx_runtime121.jsxs)(
4556
+ children: /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)(import_themes23.Flex, { direction: "column", gap: "4", children: [
4557
+ /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)(
4487
4558
  "div",
4488
4559
  {
4489
4560
  "aria-label": "\uCD1D\uC810 \uCD94\uC774 \uB77C\uC778 \uCC28\uD2B8",
@@ -4491,11 +4562,11 @@ function ScoreTrendSection({
4491
4562
  style: { position: "relative", width: "100%", height: 200 },
4492
4563
  children: [
4493
4564
  probe,
4494
- /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(Chart, { option })
4565
+ /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(Chart, { option })
4495
4566
  ]
4496
4567
  }
4497
4568
  ),
4498
- /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(import_themes7.Box, { className: "rp-expand-table", children: /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(
4569
+ /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(import_themes7.Box, { className: "rp-expand-table", children: /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
4499
4570
  ExpandTable,
4500
4571
  {
4501
4572
  columns,
@@ -4513,33 +4584,33 @@ function ScoreTrendSection({
4513
4584
 
4514
4585
  // src/app/roleplay/parts/section-nav.tsx
4515
4586
  var import_react69 = require("react");
4516
- var import_jsx_runtime122 = require("react/jsx-runtime");
4587
+ var import_jsx_runtime124 = require("react/jsx-runtime");
4517
4588
  var NAV_ICONS = {
4518
- "score-summary": /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)(import_jsx_runtime122.Fragment, { children: [
4519
- /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("path", { d: "m12 14 4-4" }),
4520
- /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("path", { d: "M3.34 19a10 10 0 1 1 17.32 0" })
4589
+ "score-summary": /* @__PURE__ */ (0, import_jsx_runtime124.jsxs)(import_jsx_runtime124.Fragment, { children: [
4590
+ /* @__PURE__ */ (0, import_jsx_runtime124.jsx)("path", { d: "m12 14 4-4" }),
4591
+ /* @__PURE__ */ (0, import_jsx_runtime124.jsx)("path", { d: "M3.34 19a10 10 0 1 1 17.32 0" })
4521
4592
  ] }),
4522
- strengths: /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("polygon", { points: "12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2" }),
4523
- improvements: /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)(import_jsx_runtime122.Fragment, { children: [
4524
- /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("circle", { cx: "12", cy: "12", r: "9" }),
4525
- /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("circle", { cx: "12", cy: "12", r: "5" }),
4526
- /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("circle", { cx: "12", cy: "12", r: "1.5" })
4593
+ strengths: /* @__PURE__ */ (0, import_jsx_runtime124.jsx)("polygon", { points: "12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2" }),
4594
+ improvements: /* @__PURE__ */ (0, import_jsx_runtime124.jsxs)(import_jsx_runtime124.Fragment, { children: [
4595
+ /* @__PURE__ */ (0, import_jsx_runtime124.jsx)("circle", { cx: "12", cy: "12", r: "9" }),
4596
+ /* @__PURE__ */ (0, import_jsx_runtime124.jsx)("circle", { cx: "12", cy: "12", r: "5" }),
4597
+ /* @__PURE__ */ (0, import_jsx_runtime124.jsx)("circle", { cx: "12", cy: "12", r: "1.5" })
4527
4598
  ] }),
4528
- "score-trend": /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)(import_jsx_runtime122.Fragment, { children: [
4529
- /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("path", { d: "M3 3v18h18" }),
4530
- /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("path", { d: "m19 8-5 5-4-4-4 4" })
4599
+ "score-trend": /* @__PURE__ */ (0, import_jsx_runtime124.jsxs)(import_jsx_runtime124.Fragment, { children: [
4600
+ /* @__PURE__ */ (0, import_jsx_runtime124.jsx)("path", { d: "M3 3v18h18" }),
4601
+ /* @__PURE__ */ (0, import_jsx_runtime124.jsx)("path", { d: "m19 8-5 5-4-4-4 4" })
4531
4602
  ] }),
4532
- "step-summary": /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("path", { d: "M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z" }),
4533
- "step-detail": /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)(import_jsx_runtime122.Fragment, { children: [
4534
- /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("line", { x1: "8", x2: "21", y1: "6", y2: "6" }),
4535
- /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("line", { x1: "8", x2: "21", y1: "12", y2: "12" }),
4536
- /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("line", { x1: "8", x2: "21", y1: "18", y2: "18" }),
4537
- /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("path", { d: "M3 6h.01M3 12h.01M3 18h.01" })
4603
+ "step-summary": /* @__PURE__ */ (0, import_jsx_runtime124.jsx)("path", { d: "M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z" }),
4604
+ "step-detail": /* @__PURE__ */ (0, import_jsx_runtime124.jsxs)(import_jsx_runtime124.Fragment, { children: [
4605
+ /* @__PURE__ */ (0, import_jsx_runtime124.jsx)("line", { x1: "8", x2: "21", y1: "6", y2: "6" }),
4606
+ /* @__PURE__ */ (0, import_jsx_runtime124.jsx)("line", { x1: "8", x2: "21", y1: "12", y2: "12" }),
4607
+ /* @__PURE__ */ (0, import_jsx_runtime124.jsx)("line", { x1: "8", x2: "21", y1: "18", y2: "18" }),
4608
+ /* @__PURE__ */ (0, import_jsx_runtime124.jsx)("path", { d: "M3 6h.01M3 12h.01M3 18h.01" })
4538
4609
  ] }),
4539
- coaching: /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("polygon", { points: "13 2 3 14 12 14 11 22 21 10 12 10 13 2" })
4610
+ coaching: /* @__PURE__ */ (0, import_jsx_runtime124.jsx)("polygon", { points: "13 2 3 14 12 14 11 22 21 10 12 10 13 2" })
4540
4611
  };
4541
4612
  function NavIcon({ children }) {
4542
- return /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(
4613
+ return /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(
4543
4614
  "svg",
4544
4615
  {
4545
4616
  "aria-hidden": "true",
@@ -4559,7 +4630,7 @@ function NavIcon({ children }) {
4559
4630
  function StepMetricBadge({ step }) {
4560
4631
  const scoreText = stepScoreText(step);
4561
4632
  if (scoreText !== null) {
4562
- return /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(
4633
+ return /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(
4563
4634
  Typo,
4564
4635
  {
4565
4636
  as: "span",
@@ -4574,7 +4645,7 @@ function StepMetricBadge({ step }) {
4574
4645
  }
4575
4646
  const gradeLabel = stepGradeLabel(step);
4576
4647
  if (gradeLabel !== null) {
4577
- return /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(
4648
+ return /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(
4578
4649
  Typo,
4579
4650
  {
4580
4651
  as: "span",
@@ -4617,8 +4688,8 @@ function scrollToId(id) {
4617
4688
  function SectionNav({ items, steps }) {
4618
4689
  const activeId = useScrollSpy(items.map((i) => i.id));
4619
4690
  const stepDetailActive = activeId === "step-summary" || activeId === "step-detail";
4620
- return /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(import_themes7.Box, { asChild: true, className: "rp-section-nav", children: /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("aside", { children: /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)(import_themes7.Box, { children: [
4621
- /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(
4691
+ return /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(import_themes7.Box, { asChild: true, className: "rp-section-nav", children: /* @__PURE__ */ (0, import_jsx_runtime124.jsx)("aside", { children: /* @__PURE__ */ (0, import_jsx_runtime124.jsxs)(import_themes7.Box, { children: [
4692
+ /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(
4622
4693
  Typo,
4623
4694
  {
4624
4695
  as: "p",
@@ -4632,9 +4703,9 @@ function SectionNav({ items, steps }) {
4632
4703
  children: "\uBAA9\uCC28"
4633
4704
  }
4634
4705
  ),
4635
- /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(import_themes7.Box, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("ul", { style: { listStyle: "none", margin: 0, padding: 0 }, children: items.map((item) => {
4706
+ /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(import_themes7.Box, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime124.jsx)("ul", { style: { listStyle: "none", margin: 0, padding: 0 }, children: items.map((item) => {
4636
4707
  const active = activeId === item.id;
4637
- return /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("li", { children: /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)(
4708
+ return /* @__PURE__ */ (0, import_jsx_runtime124.jsx)("li", { children: /* @__PURE__ */ (0, import_jsx_runtime124.jsxs)(
4638
4709
  "button",
4639
4710
  {
4640
4711
  "aria-current": active ? "true" : void 0,
@@ -4648,9 +4719,9 @@ function SectionNav({ items, steps }) {
4648
4719
  } : void 0,
4649
4720
  type: "button",
4650
4721
  children: [
4651
- /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)(import_themes23.Flex, { align: "center", gap: "2", style: { minWidth: 0 }, children: [
4652
- NAV_ICONS[item.id] ? /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(NavIcon, { children: NAV_ICONS[item.id] }) : null,
4653
- /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(
4722
+ /* @__PURE__ */ (0, import_jsx_runtime124.jsxs)(import_themes23.Flex, { align: "center", gap: "2", style: { minWidth: 0 }, children: [
4723
+ NAV_ICONS[item.id] ? /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(NavIcon, { children: NAV_ICONS[item.id] }) : null,
4724
+ /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(
4654
4725
  Typo,
4655
4726
  {
4656
4727
  as: "span",
@@ -4661,8 +4732,8 @@ function SectionNav({ items, steps }) {
4661
4732
  }
4662
4733
  )
4663
4734
  ] }),
4664
- typeof item.score === "number" ? /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)(Typo, { as: "span", mono: true, style: { flexShrink: 0 }, variant: "body", children: [
4665
- /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(
4735
+ typeof item.score === "number" ? /* @__PURE__ */ (0, import_jsx_runtime124.jsxs)(Typo, { as: "span", mono: true, style: { flexShrink: 0 }, variant: "body", children: [
4736
+ /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(
4666
4737
  Typo,
4667
4738
  {
4668
4739
  as: "span",
@@ -4674,7 +4745,7 @@ function SectionNav({ items, steps }) {
4674
4745
  children: item.score
4675
4746
  }
4676
4747
  ),
4677
- /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)(Typo, { as: "span", style: { color: "var(--gray-9)" }, variant: "body", children: [
4748
+ /* @__PURE__ */ (0, import_jsx_runtime124.jsxs)(Typo, { as: "span", style: { color: "var(--gray-9)" }, variant: "body", children: [
4678
4749
  "/",
4679
4750
  item.max
4680
4751
  ] })
@@ -4683,8 +4754,8 @@ function SectionNav({ items, steps }) {
4683
4754
  }
4684
4755
  ) }, item.id);
4685
4756
  }) }) }),
4686
- steps.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)(import_themes7.Box, { mt: "3", pt: "3", style: { borderTop: "1px solid var(--gray-4)" }, children: [
4687
- /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(import_themes7.Box, { pb: "1", px: "3", children: /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(
4757
+ steps.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime124.jsxs)(import_themes7.Box, { mt: "3", pt: "3", style: { borderTop: "1px solid var(--gray-4)" }, children: [
4758
+ /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(import_themes7.Box, { pb: "1", px: "3", children: /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(
4688
4759
  Typo,
4689
4760
  {
4690
4761
  as: "span",
@@ -4696,9 +4767,9 @@ function SectionNav({ items, steps }) {
4696
4767
  children: "\uB2E8\uACC4\uBCC4 \uC810\uC218"
4697
4768
  }
4698
4769
  ) }),
4699
- /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(import_themes7.Box, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("ul", { style: { listStyle: "none", margin: 0, padding: 0 }, children: steps.map((step) => {
4770
+ /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(import_themes7.Box, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime124.jsx)("ul", { style: { listStyle: "none", margin: 0, padding: 0 }, children: steps.map((step) => {
4700
4771
  const ratio = stepRatio(step);
4701
- return /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("li", { children: /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)(
4772
+ return /* @__PURE__ */ (0, import_jsx_runtime124.jsx)("li", { children: /* @__PURE__ */ (0, import_jsx_runtime124.jsxs)(
4702
4773
  "button",
4703
4774
  {
4704
4775
  className: "rp-jump-btn",
@@ -4707,8 +4778,8 @@ function SectionNav({ items, steps }) {
4707
4778
  },
4708
4779
  type: "button",
4709
4780
  children: [
4710
- /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)(import_themes23.Flex, { align: "center", gap: "2", justify: "between", children: [
4711
- /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)(
4781
+ /* @__PURE__ */ (0, import_jsx_runtime124.jsxs)(import_themes23.Flex, { align: "center", gap: "2", justify: "between", children: [
4782
+ /* @__PURE__ */ (0, import_jsx_runtime124.jsxs)(
4712
4783
  Typo,
4713
4784
  {
4714
4785
  as: "span",
@@ -4716,7 +4787,7 @@ function SectionNav({ items, steps }) {
4716
4787
  truncate: true,
4717
4788
  variant: "body",
4718
4789
  children: [
4719
- /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(
4790
+ /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(
4720
4791
  Typo,
4721
4792
  {
4722
4793
  as: "span",
@@ -4728,7 +4799,7 @@ function SectionNav({ items, steps }) {
4728
4799
  }
4729
4800
  ),
4730
4801
  " ",
4731
- /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(
4802
+ /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(
4732
4803
  Typo,
4733
4804
  {
4734
4805
  as: "span",
@@ -4740,9 +4811,9 @@ function SectionNav({ items, steps }) {
4740
4811
  ]
4741
4812
  }
4742
4813
  ),
4743
- /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(StepMetricBadge, { step })
4814
+ /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(StepMetricBadge, { step })
4744
4815
  ] }),
4745
- ratio !== null ? /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(import_themes7.Box, { mt: "1", children: /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(Progress, { color: stepColor(step), size: "1", value: ratio * 100 }) }) : null
4816
+ ratio !== null ? /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(import_themes7.Box, { mt: "1", children: /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(Progress, { color: stepColor(step), size: "1", value: ratio * 100 }) }) : null
4746
4817
  ]
4747
4818
  }
4748
4819
  ) }, step.key);
@@ -4752,14 +4823,14 @@ function SectionNav({ items, steps }) {
4752
4823
  }
4753
4824
 
4754
4825
  // src/app/roleplay/parts/step-detail.tsx
4755
- var import_jsx_runtime123 = require("react/jsx-runtime");
4826
+ var import_jsx_runtime125 = require("react/jsx-runtime");
4756
4827
  function RubricField({
4757
4828
  label,
4758
4829
  value
4759
4830
  }) {
4760
- return /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)(import_themes7.Box, { children: [
4761
- /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(Typo, { as: "p", variant: "body", weight: "medium", children: label }),
4762
- /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(import_themes7.Box, { mt: "1", style: { maxWidth: "65ch" }, children: /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(Typo, { as: "p", variant: "body", children: value }) })
4831
+ return /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)(import_themes7.Box, { children: [
4832
+ /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(Typo, { as: "p", variant: "body", weight: "medium", children: label }),
4833
+ /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(import_themes7.Box, { mt: "1", style: { maxWidth: "65ch" }, children: /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(Typo, { as: "p", variant: "body", children: value }) })
4763
4834
  ] });
4764
4835
  }
4765
4836
  function StepDetail({
@@ -4770,14 +4841,14 @@ function StepDetail({
4770
4841
  const ratio = stepRatio(step);
4771
4842
  const scoreText = stepScoreText(step);
4772
4843
  const gradeLabel = stepGradeLabel(step);
4773
- return /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)(import_themes7.Box, { id: `step-${step.key}`, style: { scrollMarginTop }, children: [
4774
- /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)(import_themes23.Flex, { align: "center", gap: "2", justify: "between", mb: "1", children: [
4775
- /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)(import_themes7.Box, { style: { minWidth: 0 }, children: [
4776
- /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(Typo, { as: "span", color: "gray", mono: true, variant: "body", children: stepCode(step) }),
4777
- /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(Typo, { as: "p", variant: "subtitle", weight: "bold", children: step.label })
4844
+ return /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)(import_themes7.Box, { id: `step-${step.key}`, style: { scrollMarginTop }, children: [
4845
+ /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)(import_themes23.Flex, { align: "center", gap: "2", justify: "between", mb: "1", children: [
4846
+ /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)(import_themes7.Box, { style: { minWidth: 0 }, children: [
4847
+ /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(Typo, { as: "span", color: "gray", mono: true, variant: "body", children: stepCode(step) }),
4848
+ /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(Typo, { as: "p", variant: "subtitle", weight: "bold", children: step.label })
4778
4849
  ] }),
4779
- /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)(import_themes23.Flex, { align: "end", direction: "column", gap: "1", style: { flexShrink: 0 }, children: [
4780
- scoreText !== null ? /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
4850
+ /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)(import_themes23.Flex, { align: "end", direction: "column", gap: "1", style: { flexShrink: 0 }, children: [
4851
+ scoreText !== null ? /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
4781
4852
  Typo,
4782
4853
  {
4783
4854
  as: "span",
@@ -4788,7 +4859,7 @@ function StepDetail({
4788
4859
  children: scoreText
4789
4860
  }
4790
4861
  ) : null,
4791
- gradeLabel !== null ? /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
4862
+ gradeLabel !== null ? /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
4792
4863
  Typo,
4793
4864
  {
4794
4865
  as: "span",
@@ -4808,16 +4879,16 @@ function StepDetail({
4808
4879
  ) : null
4809
4880
  ] })
4810
4881
  ] }),
4811
- ratio !== null ? /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(import_themes7.Box, { mb: "3", mt: "2", children: /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(Progress, { color: stepColor(step), size: "2", value: ratio * 100 }) }) : null,
4812
- step.description ? /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(import_themes7.Box, { mb: "3", mt: ratio !== null ? "0" : "2", style: { maxWidth: "65ch" }, children: /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(Typo, { as: "p", color: "gray", variant: "body", children: step.description }) }) : null,
4813
- /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)(import_themes23.Flex, { direction: "column", gap: "0", children: [
4814
- step.basis || step.issue ? /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(import_themes7.Box, { pb: "3", style: { borderBottom: "1px solid var(--gray-a4)" }, children: /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)(import_themes23.Flex, { direction: "column", gap: "3", children: [
4815
- step.basis ? /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(RubricField, { label: "\uADFC\uAC70", value: step.basis }) : null,
4816
- step.issue ? /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(RubricField, { label: "\uC544\uC26C\uC6B4 \uC810", value: step.issue }) : null
4882
+ ratio !== null ? /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(import_themes7.Box, { mb: "3", mt: "2", children: /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(Progress, { color: stepColor(step), size: "2", value: ratio * 100 }) }) : null,
4883
+ step.description ? /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(import_themes7.Box, { mb: "3", mt: ratio !== null ? "0" : "2", style: { maxWidth: "65ch" }, children: /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(Typo, { as: "p", color: "gray", variant: "body", children: step.description }) }) : null,
4884
+ /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)(import_themes23.Flex, { direction: "column", gap: "0", children: [
4885
+ step.basis || step.issue ? /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(import_themes7.Box, { pb: "3", style: { borderBottom: "1px solid var(--gray-a4)" }, children: /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)(import_themes23.Flex, { direction: "column", gap: "3", children: [
4886
+ step.basis ? /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(RubricField, { label: "\uADFC\uAC70", value: step.basis }) : null,
4887
+ step.issue ? /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(RubricField, { label: "\uC544\uC26C\uC6B4 \uC810", value: step.issue }) : null
4817
4888
  ] }) }) : null,
4818
- step.improve || step.example || step.idealExample ? /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(import_themes7.Box, { pt: "3", children: /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)(import_themes23.Flex, { direction: "column", gap: "3", children: [
4819
- step.improve ? /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(RubricField, { label: "\uAC1C\uC120\uC810", value: step.improve }) : null,
4820
- step.example ? /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)(
4889
+ step.improve || step.example || step.idealExample ? /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(import_themes7.Box, { pt: "3", children: /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)(import_themes23.Flex, { direction: "column", gap: "3", children: [
4890
+ step.improve ? /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(RubricField, { label: "\uAC1C\uC120\uC810", value: step.improve }) : null,
4891
+ step.example ? /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)(
4821
4892
  import_themes7.Box,
4822
4893
  {
4823
4894
  p: "2",
@@ -4826,7 +4897,7 @@ function StepDetail({
4826
4897
  background: "var(--accent-a2)"
4827
4898
  },
4828
4899
  children: [
4829
- /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
4900
+ /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
4830
4901
  Typo,
4831
4902
  {
4832
4903
  as: "p",
@@ -4836,11 +4907,11 @@ function StepDetail({
4836
4907
  children: "\uC608\uC2DC \uC2A4\uD06C\uB9BD\uD2B8"
4837
4908
  }
4838
4909
  ),
4839
- /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(import_themes7.Box, { mt: "1", style: { maxWidth: "65ch" }, children: /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(Typo, { as: "p", style: { color: "var(--accent-11)" }, variant: "body", children: step.example }) })
4910
+ /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(import_themes7.Box, { mt: "1", style: { maxWidth: "65ch" }, children: /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(Typo, { as: "p", style: { color: "var(--accent-11)" }, variant: "body", children: step.example }) })
4840
4911
  ]
4841
4912
  }
4842
4913
  ) : null,
4843
- step.idealExample ? /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)(
4914
+ step.idealExample ? /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)(
4844
4915
  import_themes7.Box,
4845
4916
  {
4846
4917
  p: "2",
@@ -4849,8 +4920,8 @@ function StepDetail({
4849
4920
  background: "var(--gray-a2)"
4850
4921
  },
4851
4922
  children: [
4852
- /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(Typo, { as: "p", color: "gray", variant: "body", weight: "medium", children: "\uBAA8\uBC94 \uC608\uC2DC" }),
4853
- /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(import_themes7.Box, { mt: "1", style: { maxWidth: "65ch" }, children: /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
4923
+ /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(Typo, { as: "p", color: "gray", variant: "body", weight: "medium", children: "\uBAA8\uBC94 \uC608\uC2DC" }),
4924
+ /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(import_themes7.Box, { mt: "1", style: { maxWidth: "65ch" }, children: /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
4854
4925
  Typo,
4855
4926
  {
4856
4927
  as: "p",
@@ -4869,7 +4940,7 @@ function StepDetail({
4869
4940
  }
4870
4941
 
4871
4942
  // src/app/roleplay/parts/step-radar.tsx
4872
- var import_jsx_runtime124 = require("react/jsx-runtime");
4943
+ var import_jsx_runtime126 = require("react/jsx-runtime");
4873
4944
  function StepRadar({ steps }) {
4874
4945
  const { colors, probe } = useTokenColors({
4875
4946
  accent: ["--accent-9", "#5b5bd6"],
@@ -4918,7 +4989,7 @@ function StepRadar({ steps }) {
4918
4989
  }
4919
4990
  ]
4920
4991
  };
4921
- return /* @__PURE__ */ (0, import_jsx_runtime124.jsxs)(
4992
+ return /* @__PURE__ */ (0, import_jsx_runtime126.jsxs)(
4922
4993
  "div",
4923
4994
  {
4924
4995
  "aria-label": "\uD3C9\uAC00 \uB2E8\uACC4 \uB808\uC774\uB354 \uCC28\uD2B8",
@@ -4934,23 +5005,23 @@ function StepRadar({ steps }) {
4934
5005
  },
4935
5006
  children: [
4936
5007
  probe,
4937
- /* @__PURE__ */ (0, import_jsx_runtime124.jsx)("div", { style: { width: "100%", maxWidth: 300, height: 280 }, children: /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(Chart, { option }) })
5008
+ /* @__PURE__ */ (0, import_jsx_runtime126.jsx)("div", { style: { width: "100%", maxWidth: 300, height: 280 }, children: /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(Chart, { option }) })
4938
5009
  ]
4939
5010
  }
4940
5011
  );
4941
5012
  }
4942
5013
 
4943
5014
  // src/app/roleplay/parts/step-summary.tsx
4944
- var import_jsx_runtime125 = require("react/jsx-runtime");
5015
+ var import_jsx_runtime127 = require("react/jsx-runtime");
4945
5016
  function Section5({
4946
5017
  title,
4947
5018
  desc,
4948
5019
  children
4949
5020
  }) {
4950
- return /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)("section", { children: [
4951
- /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)(import_themes7.Box, { mb: "3", children: [
4952
- /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(Typo, { as: "p", variant: "subtitle", weight: "bold", children: title }),
4953
- desc ? /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(import_themes7.Box, { mt: "1", style: { maxWidth: "65ch" }, children: /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(Typo, { as: "p", color: "gray", variant: "body", children: desc }) }) : null
5021
+ return /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)("section", { children: [
5022
+ /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(import_themes7.Box, { mb: "3", children: [
5023
+ /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(Typo, { as: "p", variant: "subtitle", weight: "bold", children: title }),
5024
+ desc ? /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(import_themes7.Box, { mt: "1", style: { maxWidth: "65ch" }, children: /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(Typo, { as: "p", color: "gray", variant: "body", children: desc }) }) : null
4954
5025
  ] }),
4955
5026
  children
4956
5027
  ] });
@@ -4959,13 +5030,13 @@ function StepSummary({ steps }) {
4959
5030
  if (steps.length === 0) return null;
4960
5031
  const radarReady = steps.every((s) => stepRatio(s) !== null);
4961
5032
  const desc = "\uB300\uD654 \uB2E8\uACC4 \uBCC4\uB85C \uB098\uC758 \uAC15\uC57D\uC810\uC744 \uD655\uC778\uD560 \uC218 \uC788\uC5B4\uC694.";
4962
- const list = /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(import_themes23.Flex, { direction: "column", children: steps.map((step, i) => {
5033
+ const list = /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(import_themes23.Flex, { direction: "column", children: steps.map((step, i) => {
4963
5034
  const ratio = stepRatio(step);
4964
5035
  const scoreText = stepScoreText(step);
4965
5036
  const gradeLabel = stepGradeLabel(step);
4966
- return /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)(import_themes7.Box, { children: [
4967
- i > 0 && /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(import_themes40.Separator, { size: "4" }),
4968
- /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
5037
+ return /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(import_themes7.Box, { children: [
5038
+ i > 0 && /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(import_themes40.Separator, { size: "4" }),
5039
+ /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(
4969
5040
  "button",
4970
5041
  {
4971
5042
  className: "rp-rubric-scroll-btn",
@@ -4982,9 +5053,9 @@ function StepSummary({ steps }) {
4982
5053
  textAlign: "left"
4983
5054
  },
4984
5055
  type: "button",
4985
- children: /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)(import_themes23.Flex, { direction: "column", gap: "1", children: [
4986
- /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)(import_themes23.Flex, { align: "center", gap: "2", justify: "between", children: [
4987
- /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)(
5056
+ children: /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(import_themes23.Flex, { direction: "column", gap: "1", children: [
5057
+ /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(import_themes23.Flex, { align: "center", gap: "2", justify: "between", children: [
5058
+ /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(
4988
5059
  Typo,
4989
5060
  {
4990
5061
  as: "span",
@@ -4993,7 +5064,7 @@ function StepSummary({ steps }) {
4993
5064
  variant: "body",
4994
5065
  weight: "medium",
4995
5066
  children: [
4996
- /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
5067
+ /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(
4997
5068
  Typo,
4998
5069
  {
4999
5070
  as: "span",
@@ -5009,9 +5080,9 @@ function StepSummary({ steps }) {
5009
5080
  ]
5010
5081
  }
5011
5082
  ),
5012
- /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)(import_themes23.Flex, { align: "center", gap: "2", style: { flexShrink: 0 }, children: [
5013
- scoreText !== null ? /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(Typo, { as: "span", mono: true, variant: "body", weight: "bold", children: scoreText }) : null,
5014
- gradeLabel !== null ? /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
5083
+ /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(import_themes23.Flex, { align: "center", gap: "2", style: { flexShrink: 0 }, children: [
5084
+ scoreText !== null ? /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(Typo, { as: "span", mono: true, variant: "body", weight: "bold", children: scoreText }) : null,
5085
+ gradeLabel !== null ? /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(
5015
5086
  Typo,
5016
5087
  {
5017
5088
  as: "span",
@@ -5024,13 +5095,13 @@ function StepSummary({ steps }) {
5024
5095
  ) : null
5025
5096
  ] })
5026
5097
  ] }),
5027
- ratio !== null ? /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(import_themes7.Box, { style: { flex: 1 }, children: /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(Progress, { color: stepColor(step), size: "1", value: ratio * 100 }) }) : null
5098
+ ratio !== null ? /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(import_themes7.Box, { style: { flex: 1 }, children: /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(Progress, { color: stepColor(step), size: "1", value: ratio * 100 }) }) : null
5028
5099
  ] })
5029
5100
  }
5030
5101
  )
5031
5102
  ] }, step.key);
5032
5103
  }) });
5033
- return /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(Section5, { desc, title: "\uD3C9\uAC00 \uB2E8\uACC4 \uC694\uC57D", children: radarReady ? /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)(
5104
+ return /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(Section5, { desc, title: "\uD3C9\uAC00 \uB2E8\uACC4 \uC694\uC57D", children: radarReady ? /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(
5034
5105
  import_themes24.Grid,
5035
5106
  {
5036
5107
  align: "center",
@@ -5038,14 +5109,14 @@ function StepSummary({ steps }) {
5038
5109
  gap: "6",
5039
5110
  children: [
5040
5111
  list,
5041
- /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(StepRadar, { steps })
5112
+ /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(StepRadar, { steps })
5042
5113
  ]
5043
5114
  }
5044
5115
  ) : list });
5045
5116
  }
5046
5117
 
5047
5118
  // src/app/roleplay/parts/content.tsx
5048
- var import_jsx_runtime126 = require("react/jsx-runtime");
5119
+ var import_jsx_runtime128 = require("react/jsx-runtime");
5049
5120
  function Content9({
5050
5121
  detail,
5051
5122
  report,
@@ -5068,20 +5139,20 @@ function Content9({
5068
5139
  ...showStepDetail ? [{ id: "step-detail", label: "\uB2E8\uACC4\uBCC4 \uC0C1\uC138 \uBD84\uC11D" }] : [],
5069
5140
  ...skills.length > 0 ? [{ id: "coaching", label: "\uC989\uC2DC \uC801\uC6A9 \uC2A4\uD0AC" }] : []
5070
5141
  ];
5071
- return /* @__PURE__ */ (0, import_jsx_runtime126.jsxs)(
5142
+ return /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)(
5072
5143
  import_themes24.Grid,
5073
5144
  {
5074
5145
  align: "start",
5075
5146
  columns: { initial: "1", md: "minmax(0, 1fr) 224px" },
5076
5147
  gap: "7",
5077
5148
  children: [
5078
- /* @__PURE__ */ (0, import_jsx_runtime126.jsxs)(import_themes23.Flex, { direction: "column", gap: "7", children: [
5079
- report.frameworkTitle !== null || report.frameworkDescription !== null ? /* @__PURE__ */ (0, import_jsx_runtime126.jsxs)(import_themes7.Box, { children: [
5080
- report.frameworkTitle !== null ? /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(Heading2, { size: "5", weight: "bold", children: report.frameworkTitle }) : null,
5081
- report.frameworkDescription !== null ? /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(import_themes7.Box, { mt: report.frameworkTitle !== null ? "2" : "0", children: /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(Typo, { as: "p", variant: "body", children: report.frameworkDescription }) }) : null
5149
+ /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)(import_themes23.Flex, { direction: "column", gap: "7", children: [
5150
+ report.frameworkTitle !== null || report.frameworkDescription !== null ? /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)(import_themes7.Box, { children: [
5151
+ report.frameworkTitle !== null ? /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(Heading2, { size: "5", weight: "bold", children: report.frameworkTitle }) : null,
5152
+ report.frameworkDescription !== null ? /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(import_themes7.Box, { mt: report.frameworkTitle !== null ? "2" : "0", children: /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(Typo, { as: "p", variant: "body", children: report.frameworkDescription }) }) : null
5082
5153
  ] }) : null,
5083
- /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(import_themes7.Box, { id: "score-summary", style: { scrollMarginTop }, children: /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(ScoreSummary, { detail, report, speechShare }) }),
5084
- strengths.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(import_themes7.Box, { id: "strengths", style: { scrollMarginTop }, children: /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(
5154
+ /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(import_themes7.Box, { id: "score-summary", style: { scrollMarginTop }, children: /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(ScoreSummary, { detail, report, speechShare }) }),
5155
+ strengths.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(import_themes7.Box, { id: "strengths", style: { scrollMarginTop }, children: /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
5085
5156
  AnalysisSection,
5086
5157
  {
5087
5158
  desc: "\uC774\uBC88 \uC138\uC158\uC5D0\uC11C \uAC00\uC7A5 \uB3CB\uBCF4\uC778 \uAC15\uC810\uB4E4\uC774\uC5D0\uC694.",
@@ -5090,7 +5161,7 @@ function Content9({
5090
5161
  tone: "good"
5091
5162
  }
5092
5163
  ) }) : null,
5093
- improvements.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(import_themes7.Box, { id: "improvements", style: { scrollMarginTop }, children: /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(
5164
+ improvements.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(import_themes7.Box, { id: "improvements", style: { scrollMarginTop }, children: /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
5094
5165
  AnalysisSection,
5095
5166
  {
5096
5167
  desc: "\uB2E4\uC74C\uC5D0 \uBCF4\uC644\uD55C\uB2E4\uBA74 \uB354 \uB098\uC740 \uACB0\uACFC\uB97C \uC5BB\uC744 \uC218 \uC788\uC744 \uAC70\uC5D0\uC694.",
@@ -5099,15 +5170,15 @@ function Content9({
5099
5170
  tone: "bad"
5100
5171
  }
5101
5172
  ) }) : null,
5102
- showTrend ? /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(import_themes7.Box, { id: "score-trend", style: { scrollMarginTop }, children: /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(ScoreTrendSection, { history }) }) : null,
5103
- showStepSummary ? /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(import_themes7.Box, { id: "step-summary", style: { scrollMarginTop }, children: /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(StepSummary, { steps }) }) : null,
5104
- showStepDetail ? /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(import_themes7.Box, { id: "step-detail", style: { scrollMarginTop }, children: /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(
5173
+ showTrend ? /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(import_themes7.Box, { id: "score-trend", style: { scrollMarginTop }, children: /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(ScoreTrendSection, { history }) }) : null,
5174
+ showStepSummary ? /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(import_themes7.Box, { id: "step-summary", style: { scrollMarginTop }, children: /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(StepSummary, { steps }) }) : null,
5175
+ showStepDetail ? /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(import_themes7.Box, { id: "step-detail", style: { scrollMarginTop }, children: /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
5105
5176
  Section2,
5106
5177
  {
5107
5178
  desc: "\uC774\uBC88 \uB300\uD654\uC758 \uB354 \uB098\uC544\uC9C8 \uC218 \uC788\uB294 \uBC29\uD5A5\uC744 \uC54C\uB824\uB4DC\uB9B4\uAC8C\uC694.",
5108
5179
  title: "\uB2E8\uACC4\uBCC4 \uC0C1\uC138 \uBD84\uC11D",
5109
- children: /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(import_themes23.Flex, { direction: "column", children: steps.map((step, i) => /* @__PURE__ */ (0, import_jsx_runtime126.jsxs)(import_themes7.Box, { children: [
5110
- i > 0 ? /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(
5180
+ children: /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(import_themes23.Flex, { direction: "column", children: steps.map((step, i) => /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)(import_themes7.Box, { children: [
5181
+ i > 0 ? /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
5111
5182
  import_themes40.Separator,
5112
5183
  {
5113
5184
  mb: "6",
@@ -5115,22 +5186,22 @@ function Content9({
5115
5186
  style: { marginTop: "calc(var(--space-9) * 1.6)" }
5116
5187
  }
5117
5188
  ) : null,
5118
- /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(StepDetail, { scrollMarginTop, step })
5189
+ /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(StepDetail, { scrollMarginTop, step })
5119
5190
  ] }, step.key)) })
5120
5191
  }
5121
5192
  ) }) : null,
5122
- skills.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(import_themes7.Box, { id: "coaching", style: { scrollMarginTop }, children: /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(CoachingPanel, { skills }) }) : null
5193
+ skills.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(import_themes7.Box, { id: "coaching", style: { scrollMarginTop }, children: /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(CoachingPanel, { skills }) }) : null
5123
5194
  ] }),
5124
- /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(SectionNav, { items: navItems, steps: showStepDetail ? steps : [] })
5195
+ /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(SectionNav, { items: navItems, steps: showStepDetail ? steps : [] })
5125
5196
  ]
5126
5197
  }
5127
5198
  );
5128
5199
  }
5129
5200
 
5130
5201
  // src/app/roleplay/parts/header.tsx
5131
- var import_jsx_runtime127 = require("react/jsx-runtime");
5202
+ var import_jsx_runtime129 = require("react/jsx-runtime");
5132
5203
  function PdfIcon() {
5133
- return /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(
5204
+ return /* @__PURE__ */ (0, import_jsx_runtime129.jsxs)(
5134
5205
  "svg",
5135
5206
  {
5136
5207
  "aria-hidden": "true",
@@ -5143,16 +5214,16 @@ function PdfIcon() {
5143
5214
  viewBox: "0 0 24 24",
5144
5215
  width: "13",
5145
5216
  children: [
5146
- /* @__PURE__ */ (0, import_jsx_runtime127.jsx)("path", { d: "M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8z" }),
5147
- /* @__PURE__ */ (0, import_jsx_runtime127.jsx)("path", { d: "M14 3v5h5" }),
5148
- /* @__PURE__ */ (0, import_jsx_runtime127.jsx)("path", { d: "M12 12v5" }),
5149
- /* @__PURE__ */ (0, import_jsx_runtime127.jsx)("path", { d: "M9.5 14.5 12 17l2.5-2.5" })
5217
+ /* @__PURE__ */ (0, import_jsx_runtime129.jsx)("path", { d: "M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8z" }),
5218
+ /* @__PURE__ */ (0, import_jsx_runtime129.jsx)("path", { d: "M14 3v5h5" }),
5219
+ /* @__PURE__ */ (0, import_jsx_runtime129.jsx)("path", { d: "M12 12v5" }),
5220
+ /* @__PURE__ */ (0, import_jsx_runtime129.jsx)("path", { d: "M9.5 14.5 12 17l2.5-2.5" })
5150
5221
  ]
5151
5222
  }
5152
5223
  );
5153
5224
  }
5154
5225
  function VideoIcon3() {
5155
- return /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(
5226
+ return /* @__PURE__ */ (0, import_jsx_runtime129.jsxs)(
5156
5227
  "svg",
5157
5228
  {
5158
5229
  "aria-hidden": "true",
@@ -5165,8 +5236,8 @@ function VideoIcon3() {
5165
5236
  viewBox: "0 0 24 24",
5166
5237
  width: "13",
5167
5238
  children: [
5168
- /* @__PURE__ */ (0, import_jsx_runtime127.jsx)("rect", { height: "12", rx: "2", width: "13", x: "2", y: "6" }),
5169
- /* @__PURE__ */ (0, import_jsx_runtime127.jsx)("path", { d: "m15 10 6-3v10l-6-3z" })
5239
+ /* @__PURE__ */ (0, import_jsx_runtime129.jsx)("rect", { height: "12", rx: "2", width: "13", x: "2", y: "6" }),
5240
+ /* @__PURE__ */ (0, import_jsx_runtime129.jsx)("path", { d: "m15 10 6-3v10l-6-3z" })
5170
5241
  ]
5171
5242
  }
5172
5243
  );
@@ -5178,7 +5249,7 @@ function Header({
5178
5249
  onResolveMediaUrl
5179
5250
  }) {
5180
5251
  var _a;
5181
- const pdfHref = detail.trainingLogURL;
5252
+ const pdfHref = detail.embedLink;
5182
5253
  const hasReplayMedia = Boolean(
5183
5254
  detail.trainingVideoURL || detail.trainingAudioURL
5184
5255
  );
@@ -5191,7 +5262,7 @@ function Header({
5191
5262
  });
5192
5263
  };
5193
5264
  const replayActive = hasScript && hasReplayMedia;
5194
- return /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(import_themes7.Box, { children: /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(
5265
+ return /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(import_themes7.Box, { children: /* @__PURE__ */ (0, import_jsx_runtime129.jsxs)(
5195
5266
  import_themes23.Flex,
5196
5267
  {
5197
5268
  align: { md: "start" },
@@ -5199,16 +5270,16 @@ function Header({
5199
5270
  gap: "4",
5200
5271
  justify: "between",
5201
5272
  children: [
5202
- /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(import_themes7.Box, { style: { minWidth: 0 }, children: [
5203
- /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(import_themes23.Flex, { align: "center", gap: "2", mb: "2", wrap: "wrap", children: [
5204
- /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(Badge, { color: "neutral", size: "small", variant: "soft", children: statusLabelOf(detail.status) }),
5205
- /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(Typo, { as: "span", color: "gray", variant: "body", children: [
5273
+ /* @__PURE__ */ (0, import_jsx_runtime129.jsxs)(import_themes7.Box, { style: { minWidth: 0 }, children: [
5274
+ /* @__PURE__ */ (0, import_jsx_runtime129.jsxs)(import_themes23.Flex, { align: "center", gap: "2", mb: "2", wrap: "wrap", children: [
5275
+ /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(Badge, { color: "neutral", size: "small", variant: "soft", children: statusLabelOf(detail.status) }),
5276
+ /* @__PURE__ */ (0, import_jsx_runtime129.jsxs)(Typo, { as: "span", color: "gray", variant: "body", children: [
5206
5277
  detail.trainingSessionNum,
5207
5278
  "\uD68C\uCC28",
5208
5279
  detail.characterTitle ? ` \xB7 ${detail.characterTitle}` : ""
5209
5280
  ] })
5210
5281
  ] }),
5211
- /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(
5282
+ /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
5212
5283
  Heading2,
5213
5284
  {
5214
5285
  size: { initial: "5", md: "7" },
@@ -5217,13 +5288,13 @@ function Header({
5217
5288
  children: (_a = detail.scenarioTitle) != null ? _a : "\uB864\uD50C\uB808\uC789 \uC138\uC158"
5218
5289
  }
5219
5290
  ),
5220
- /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(Typo, { as: "p", color: "gray", mono: true, mt: "1", variant: "body", children: [
5291
+ /* @__PURE__ */ (0, import_jsx_runtime129.jsxs)(Typo, { as: "p", color: "gray", mono: true, mt: "1", variant: "body", children: [
5221
5292
  formatDate(detail.createdAt),
5222
5293
  " \xB7 ",
5223
5294
  formatDuration(detail.trainingTime)
5224
5295
  ] })
5225
5296
  ] }),
5226
- /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(
5297
+ /* @__PURE__ */ (0, import_jsx_runtime129.jsxs)(
5227
5298
  import_themes23.Flex,
5228
5299
  {
5229
5300
  gap: "2",
@@ -5231,7 +5302,7 @@ function Header({
5231
5302
  style: { flexShrink: 0 },
5232
5303
  wrap: "wrap",
5233
5304
  children: [
5234
- onResolveMediaUrl ? /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(
5305
+ onResolveMediaUrl ? /* @__PURE__ */ (0, import_jsx_runtime129.jsxs)(
5235
5306
  Button,
5236
5307
  {
5237
5308
  color: "gray",
@@ -5242,11 +5313,11 @@ function Header({
5242
5313
  type: "button",
5243
5314
  variant: "outline",
5244
5315
  children: [
5245
- /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(PdfIcon, {}),
5246
- /* @__PURE__ */ (0, import_jsx_runtime127.jsx)("span", { style: { whiteSpace: "nowrap" }, children: "PDF \uB2E4\uC6B4\uB85C\uB4DC" })
5316
+ /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(PdfIcon, {}),
5317
+ /* @__PURE__ */ (0, import_jsx_runtime129.jsx)("span", { style: { whiteSpace: "nowrap" }, children: "PDF \uB2E4\uC6B4\uB85C\uB4DC" })
5247
5318
  ]
5248
5319
  }
5249
- ) : /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(
5320
+ ) : /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
5250
5321
  Button,
5251
5322
  {
5252
5323
  asChild: Boolean(pdfHref),
@@ -5256,16 +5327,16 @@ function Header({
5256
5327
  title: pdfHref ? void 0 : "\uC0B0\uCD9C\uBB3C \uC5C6\uC74C",
5257
5328
  type: "button",
5258
5329
  variant: "outline",
5259
- children: pdfHref ? /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)("a", { href: pdfHref, rel: "noopener noreferrer", target: "_blank", children: [
5260
- /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(PdfIcon, {}),
5261
- /* @__PURE__ */ (0, import_jsx_runtime127.jsx)("span", { style: { whiteSpace: "nowrap" }, children: "PDF \uB2E4\uC6B4\uB85C\uB4DC" })
5262
- ] }) : /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)("span", { children: [
5263
- /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(PdfIcon, {}),
5264
- /* @__PURE__ */ (0, import_jsx_runtime127.jsx)("span", { style: { whiteSpace: "nowrap" }, children: "PDF \uB2E4\uC6B4\uB85C\uB4DC" })
5330
+ children: pdfHref ? /* @__PURE__ */ (0, import_jsx_runtime129.jsxs)("a", { href: pdfHref, rel: "noopener noreferrer", target: "_blank", children: [
5331
+ /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(PdfIcon, {}),
5332
+ /* @__PURE__ */ (0, import_jsx_runtime129.jsx)("span", { style: { whiteSpace: "nowrap" }, children: "PDF \uB2E4\uC6B4\uB85C\uB4DC" })
5333
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime129.jsxs)("span", { children: [
5334
+ /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(PdfIcon, {}),
5335
+ /* @__PURE__ */ (0, import_jsx_runtime129.jsx)("span", { style: { whiteSpace: "nowrap" }, children: "PDF \uB2E4\uC6B4\uB85C\uB4DC" })
5265
5336
  ] })
5266
5337
  }
5267
5338
  ),
5268
- hasScript ? /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(
5339
+ hasScript ? /* @__PURE__ */ (0, import_jsx_runtime129.jsxs)(
5269
5340
  Button,
5270
5341
  {
5271
5342
  color: "gray",
@@ -5276,8 +5347,8 @@ function Header({
5276
5347
  type: "button",
5277
5348
  variant: "outline",
5278
5349
  children: [
5279
- /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(VideoIcon3, {}),
5280
- /* @__PURE__ */ (0, import_jsx_runtime127.jsx)("span", { style: { whiteSpace: "nowrap" }, children: "\uC601\uC0C1" })
5350
+ /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(VideoIcon3, {}),
5351
+ /* @__PURE__ */ (0, import_jsx_runtime129.jsx)("span", { style: { whiteSpace: "nowrap" }, children: "\uC601\uC0C1" })
5281
5352
  ]
5282
5353
  }
5283
5354
  ) : null
@@ -5293,7 +5364,7 @@ function Header({
5293
5364
  var import_react70 = require("react");
5294
5365
 
5295
5366
  // src/app/roleplay/parts/script-transcript.tsx
5296
- var import_jsx_runtime128 = require("react/jsx-runtime");
5367
+ var import_jsx_runtime130 = require("react/jsx-runtime");
5297
5368
  function ScriptTranscript({
5298
5369
  lines,
5299
5370
  partnerName,
@@ -5303,11 +5374,11 @@ function ScriptTranscript({
5303
5374
  onSeek
5304
5375
  }) {
5305
5376
  const activeIndex = canSync ? lines.reduce((acc, line, i) => line.startMs <= currentMs ? i : acc, -1) : -1;
5306
- return /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)(import_themes23.Flex, { direction: "column", gap: "2", style: { minWidth: 0 }, children: [
5307
- /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)(import_themes7.Box, { children: [
5308
- /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)(import_themes23.Flex, { align: "center", gap: "2", justify: "between", children: [
5309
- /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(Typo, { as: "span", variant: "body", weight: "bold", children: "\uB300\uD654 \uC2A4\uD06C\uB9BD\uD2B8" }),
5310
- /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
5377
+ return /* @__PURE__ */ (0, import_jsx_runtime130.jsxs)(import_themes23.Flex, { direction: "column", gap: "2", style: { minWidth: 0 }, children: [
5378
+ /* @__PURE__ */ (0, import_jsx_runtime130.jsxs)(import_themes7.Box, { children: [
5379
+ /* @__PURE__ */ (0, import_jsx_runtime130.jsxs)(import_themes23.Flex, { align: "center", gap: "2", justify: "between", children: [
5380
+ /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(Typo, { as: "span", variant: "body", weight: "bold", children: "\uB300\uD654 \uC2A4\uD06C\uB9BD\uD2B8" }),
5381
+ /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
5311
5382
  Typo,
5312
5383
  {
5313
5384
  as: "span",
@@ -5317,16 +5388,16 @@ function ScriptTranscript({
5317
5388
  }
5318
5389
  )
5319
5390
  ] }),
5320
- partnerName ? /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)(Typo, { as: "p", color: "gray", mt: "1", variant: "body", children: [
5391
+ partnerName ? /* @__PURE__ */ (0, import_jsx_runtime130.jsxs)(Typo, { as: "p", color: "gray", mt: "1", variant: "body", children: [
5321
5392
  "\uC0C1\uB300 \xB7 ",
5322
5393
  partnerName
5323
5394
  ] }) : null,
5324
- speechShare ? /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(import_themes7.Box, { mt: "2", children: /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(SpeechShareBar, { share: speechShare }) }) : null
5395
+ speechShare ? /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(import_themes7.Box, { mt: "2", children: /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(SpeechShareBar, { share: speechShare }) }) : null
5325
5396
  ] }),
5326
- lines.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(Typo, { as: "p", color: "gray", variant: "body", children: "\uB300\uD654 \uC2A4\uD06C\uB9BD\uD2B8\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4." }) : /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(import_themes7.Box, { style: { maxHeight: 440, overflowY: "auto" }, children: /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(import_themes23.Flex, { direction: "column", gap: "1", children: lines.map((line, i) => {
5397
+ lines.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(Typo, { as: "p", color: "gray", variant: "body", children: "\uB300\uD654 \uC2A4\uD06C\uB9BD\uD2B8\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4." }) : /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(import_themes7.Box, { style: { maxHeight: 440, overflowY: "auto" }, children: /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(import_themes23.Flex, { direction: "column", gap: "1", children: lines.map((line, i) => {
5327
5398
  const isUser = line.speaker === "user";
5328
5399
  const isActive = i === activeIndex;
5329
- return /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)(
5400
+ return /* @__PURE__ */ (0, import_jsx_runtime130.jsxs)(
5330
5401
  import_themes23.Flex,
5331
5402
  {
5332
5403
  align: "start",
@@ -5342,7 +5413,7 @@ function ScriptTranscript({
5342
5413
  background: isActive ? "var(--accent-a3)" : "transparent"
5343
5414
  },
5344
5415
  children: [
5345
- canSync ? /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
5416
+ canSync ? /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
5346
5417
  Typo,
5347
5418
  {
5348
5419
  as: "span",
@@ -5357,7 +5428,7 @@ function ScriptTranscript({
5357
5428
  children: formatTimestamp(line.startMs)
5358
5429
  }
5359
5430
  ) : null,
5360
- /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
5431
+ /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
5361
5432
  Typo,
5362
5433
  {
5363
5434
  as: "span",
@@ -5373,7 +5444,7 @@ function ScriptTranscript({
5373
5444
  children: isUser ? "\uB098" : "\uC0C1\uB300"
5374
5445
  }
5375
5446
  ),
5376
- /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
5447
+ /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
5377
5448
  Typo,
5378
5449
  {
5379
5450
  as: "span",
@@ -5396,7 +5467,7 @@ function ScriptTranscript({
5396
5467
  }
5397
5468
 
5398
5469
  // src/app/roleplay/parts/session-replay-dialog.tsx
5399
- var import_jsx_runtime129 = require("react/jsx-runtime");
5470
+ var import_jsx_runtime131 = require("react/jsx-runtime");
5400
5471
  function resolveUrl(raw, disp, resolver) {
5401
5472
  return __async(this, null, function* () {
5402
5473
  if (!raw) return void 0;
@@ -5456,14 +5527,14 @@ function SessionReplayDialog({
5456
5527
  setCurrentMs(el.currentTime * 1e3);
5457
5528
  }
5458
5529
  };
5459
- return /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(Dialog.Root, { onOpenChange, open, children: /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(Dialog.Content, { maxWidth: "1040px", title: "\uC138\uC158 \uB2E4\uC2DC\uBCF4\uAE30", width: "100%", children: /* @__PURE__ */ (0, import_jsx_runtime129.jsxs)(
5530
+ return /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(Dialog.Root, { onOpenChange, open, children: /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(Dialog.Content, { maxWidth: "1040px", title: "\uC138\uC158 \uB2E4\uC2DC\uBCF4\uAE30", width: "100%", children: /* @__PURE__ */ (0, import_jsx_runtime131.jsxs)(
5460
5531
  import_themes24.Grid,
5461
5532
  {
5462
5533
  columns: { initial: "1", md: "minmax(0, 1fr) minmax(0, 1.05fr)" },
5463
5534
  gap: "5",
5464
5535
  mt: "2",
5465
5536
  children: [
5466
- /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(import_themes7.Box, { children: /* @__PURE__ */ (0, import_jsx_runtime129.jsxs)(
5537
+ /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(import_themes7.Box, { children: /* @__PURE__ */ (0, import_jsx_runtime131.jsxs)(
5467
5538
  Tabs.Root,
5468
5539
  {
5469
5540
  onValueChange: (v) => {
@@ -5471,11 +5542,11 @@ function SessionReplayDialog({
5471
5542
  },
5472
5543
  value: tab,
5473
5544
  children: [
5474
- /* @__PURE__ */ (0, import_jsx_runtime129.jsxs)(Tabs.List, { children: [
5475
- hasVideo ? /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(Tabs.Trigger, { value: "video", children: "\uC601\uC0C1" }) : null,
5476
- hasAudio ? /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(Tabs.Trigger, { value: "audio", children: "\uC624\uB514\uC624" }) : null
5545
+ /* @__PURE__ */ (0, import_jsx_runtime131.jsxs)(Tabs.List, { children: [
5546
+ hasVideo ? /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(Tabs.Trigger, { value: "video", children: "\uC601\uC0C1" }) : null,
5547
+ hasAudio ? /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(Tabs.Trigger, { value: "audio", children: "\uC624\uB514\uC624" }) : null
5477
5548
  ] }),
5478
- hasVideo ? /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(Tabs.Content, { value: "video", children: /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
5549
+ hasVideo ? /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(Tabs.Content, { value: "video", children: /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(
5479
5550
  import_themes7.Box,
5480
5551
  {
5481
5552
  mt: "3",
@@ -5484,7 +5555,7 @@ function SessionReplayDialog({
5484
5555
  overflow: "hidden",
5485
5556
  background: "var(--gray-3)"
5486
5557
  },
5487
- children: /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
5558
+ children: /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(
5488
5559
  "video",
5489
5560
  {
5490
5561
  controls: true,
@@ -5500,7 +5571,7 @@ function SessionReplayDialog({
5500
5571
  )
5501
5572
  }
5502
5573
  ) }) : null,
5503
- hasAudio ? /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(Tabs.Content, { value: "audio", children: /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(import_themes7.Box, { mt: "3", children: /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
5574
+ hasAudio ? /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(Tabs.Content, { value: "audio", children: /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(import_themes7.Box, { mt: "3", children: /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(
5504
5575
  "audio",
5505
5576
  {
5506
5577
  controls: true,
@@ -5517,7 +5588,7 @@ function SessionReplayDialog({
5517
5588
  ]
5518
5589
  }
5519
5590
  ) }),
5520
- /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
5591
+ /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(
5521
5592
  ScriptTranscript,
5522
5593
  {
5523
5594
  canSync,
@@ -5534,25 +5605,25 @@ function SessionReplayDialog({
5534
5605
  }
5535
5606
 
5536
5607
  // src/app/roleplay/rp-session-detail.tsx
5537
- var import_jsx_runtime130 = require("react/jsx-runtime");
5608
+ var import_jsx_runtime132 = require("react/jsx-runtime");
5538
5609
  function RpSessionDetailSkeleton() {
5539
- return /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(import_themes7.Box, { py: "6", children: /* @__PURE__ */ (0, import_jsx_runtime130.jsxs)(import_themes23.Flex, { direction: "column", gap: "6", children: [
5540
- /* @__PURE__ */ (0, import_jsx_runtime130.jsxs)(import_themes7.Box, { children: [
5541
- /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(import_themes41.Skeleton, { children: /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(Heading2, { size: "7", children: "\uB864\uD50C\uB808\uC789 \uC138\uC158 \uC81C\uBAA9 \uB85C\uB529 \uC911" }) }),
5542
- /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(import_themes7.Box, { mt: "2", children: /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(import_themes41.Skeleton, { children: /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(Typo, { as: "p", variant: "body", children: "\uB0A0\uC9DC \xB7 \uC18C\uC694 \uC2DC\uAC04\uC774 \uB85C\uB529\uB418\uB294 \uC601\uC5ED\uC785\uB2C8\uB2E4" }) }) })
5610
+ return /* @__PURE__ */ (0, import_jsx_runtime132.jsx)(import_themes7.Box, { py: "6", children: /* @__PURE__ */ (0, import_jsx_runtime132.jsxs)(import_themes23.Flex, { direction: "column", gap: "6", children: [
5611
+ /* @__PURE__ */ (0, import_jsx_runtime132.jsxs)(import_themes7.Box, { children: [
5612
+ /* @__PURE__ */ (0, import_jsx_runtime132.jsx)(import_themes41.Skeleton, { children: /* @__PURE__ */ (0, import_jsx_runtime132.jsx)(Heading2, { size: "7", children: "\uB864\uD50C\uB808\uC789 \uC138\uC158 \uC81C\uBAA9 \uB85C\uB529 \uC911" }) }),
5613
+ /* @__PURE__ */ (0, import_jsx_runtime132.jsx)(import_themes7.Box, { mt: "2", children: /* @__PURE__ */ (0, import_jsx_runtime132.jsx)(import_themes41.Skeleton, { children: /* @__PURE__ */ (0, import_jsx_runtime132.jsx)(Typo, { as: "p", variant: "body", children: "\uB0A0\uC9DC \xB7 \uC18C\uC694 \uC2DC\uAC04\uC774 \uB85C\uB529\uB418\uB294 \uC601\uC5ED\uC785\uB2C8\uB2E4" }) }) })
5543
5614
  ] }),
5544
- /* @__PURE__ */ (0, import_jsx_runtime130.jsxs)("section", { children: [
5545
- /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(import_themes41.Skeleton, { children: /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(Heading2, { size: "5", children: "\uC885\uD569 \uC810\uC218" }) }),
5546
- /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(import_themes7.Box, { mt: "3", children: /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(Card, { variant: "surface", children: /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(import_themes23.Flex, { align: "center", direction: "column", gap: "2", py: "3", children: /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(import_themes41.Skeleton, { children: /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(Heading2, { size: "7", children: "00" }) }) }) }) })
5615
+ /* @__PURE__ */ (0, import_jsx_runtime132.jsxs)("section", { children: [
5616
+ /* @__PURE__ */ (0, import_jsx_runtime132.jsx)(import_themes41.Skeleton, { children: /* @__PURE__ */ (0, import_jsx_runtime132.jsx)(Heading2, { size: "5", children: "\uC885\uD569 \uC810\uC218" }) }),
5617
+ /* @__PURE__ */ (0, import_jsx_runtime132.jsx)(import_themes7.Box, { mt: "3", children: /* @__PURE__ */ (0, import_jsx_runtime132.jsx)(Card, { variant: "surface", children: /* @__PURE__ */ (0, import_jsx_runtime132.jsx)(import_themes23.Flex, { align: "center", direction: "column", gap: "2", py: "3", children: /* @__PURE__ */ (0, import_jsx_runtime132.jsx)(import_themes41.Skeleton, { children: /* @__PURE__ */ (0, import_jsx_runtime132.jsx)(Heading2, { size: "7", children: "00" }) }) }) }) })
5547
5618
  ] }),
5548
- /* @__PURE__ */ (0, import_jsx_runtime130.jsxs)("section", { children: [
5549
- /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(import_themes41.Skeleton, { children: /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(Heading2, { size: "5", children: "\uD3C9\uAC00 \uC9C0\uD45C \uC694\uC57D" }) }),
5550
- /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(import_themes7.Box, { mt: "3", children: /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(import_themes23.Flex, { direction: "column", gap: "3", children: [0, 1, 2].map((i) => /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(import_themes41.Skeleton, { children: /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(Typo, { as: "p", variant: "body", children: "\uD3C9\uAC00 \uC9C0\uD45C \uD56D\uBAA9\uC774 \uB85C\uB529\uB418\uB294 \uC911\uC785\uB2C8\uB2E4" }) }, i)) }) })
5619
+ /* @__PURE__ */ (0, import_jsx_runtime132.jsxs)("section", { children: [
5620
+ /* @__PURE__ */ (0, import_jsx_runtime132.jsx)(import_themes41.Skeleton, { children: /* @__PURE__ */ (0, import_jsx_runtime132.jsx)(Heading2, { size: "5", children: "\uD3C9\uAC00 \uC9C0\uD45C \uC694\uC57D" }) }),
5621
+ /* @__PURE__ */ (0, import_jsx_runtime132.jsx)(import_themes7.Box, { mt: "3", children: /* @__PURE__ */ (0, import_jsx_runtime132.jsx)(import_themes23.Flex, { direction: "column", gap: "3", children: [0, 1, 2].map((i) => /* @__PURE__ */ (0, import_jsx_runtime132.jsx)(import_themes41.Skeleton, { children: /* @__PURE__ */ (0, import_jsx_runtime132.jsx)(Typo, { as: "p", variant: "body", children: "\uD3C9\uAC00 \uC9C0\uD45C \uD56D\uBAA9\uC774 \uB85C\uB529\uB418\uB294 \uC911\uC785\uB2C8\uB2E4" }) }, i)) }) })
5551
5622
  ] })
5552
5623
  ] }) });
5553
5624
  }
5554
5625
  function AnalyzingState() {
5555
- return /* @__PURE__ */ (0, import_jsx_runtime130.jsxs)(
5626
+ return /* @__PURE__ */ (0, import_jsx_runtime132.jsxs)(
5556
5627
  import_themes23.Flex,
5557
5628
  {
5558
5629
  align: "center",
@@ -5566,9 +5637,9 @@ function AnalyzingState() {
5566
5637
  textAlign: "center"
5567
5638
  },
5568
5639
  children: [
5569
- /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(Heading2, { size: { initial: "4", md: "5" }, weight: "bold", children: "AI \uBD84\uC11D \uC911\uC785\uB2C8\uB2E4" }),
5570
- /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(import_themes7.Box, { mt: "2", style: { maxWidth: "480px" }, children: /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(Typo, { as: "p", variant: "body", children: "\uB300\uD654\uC640 \uC0B0\uCD9C\uBB3C\uC740 \uC800\uC7A5\uB418\uC5C8\uACE0, AI\uAC00 \uC9C0\uD45C\uBCC4 \uADFC\uAC70\uC640 \uCF54\uCE6D\uC744 \uC0DD\uC131\uD558\uB294 \uC911\uC785\uB2C8\uB2E4." }) }),
5571
- /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(import_themes7.Box, { mt: "4", style: { width: "100%", maxWidth: "280px" }, children: /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(Progress, { size: "2", value: 66 }) })
5640
+ /* @__PURE__ */ (0, import_jsx_runtime132.jsx)(Heading2, { size: { initial: "4", md: "5" }, weight: "bold", children: "AI \uBD84\uC11D \uC911\uC785\uB2C8\uB2E4" }),
5641
+ /* @__PURE__ */ (0, import_jsx_runtime132.jsx)(import_themes7.Box, { mt: "2", style: { maxWidth: "480px" }, children: /* @__PURE__ */ (0, import_jsx_runtime132.jsx)(Typo, { as: "p", variant: "body", children: "\uB300\uD654\uC640 \uC0B0\uCD9C\uBB3C\uC740 \uC800\uC7A5\uB418\uC5C8\uACE0, AI\uAC00 \uC9C0\uD45C\uBCC4 \uADFC\uAC70\uC640 \uCF54\uCE6D\uC744 \uC0DD\uC131\uD558\uB294 \uC911\uC785\uB2C8\uB2E4." }) }),
5642
+ /* @__PURE__ */ (0, import_jsx_runtime132.jsx)(import_themes7.Box, { mt: "4", style: { width: "100%", maxWidth: "280px" }, children: /* @__PURE__ */ (0, import_jsx_runtime132.jsx)(Progress, { size: "2", value: 66 }) })
5572
5643
  ]
5573
5644
  }
5574
5645
  );
@@ -5594,11 +5665,11 @@ function RpSessionDetail({
5594
5665
  const hasScript = script !== null && script !== void 0;
5595
5666
  const isAnalyzing = detail.status === "analyzing";
5596
5667
  if (isLoading) {
5597
- return /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(RpSessionDetailSkeleton, {});
5668
+ return /* @__PURE__ */ (0, import_jsx_runtime132.jsx)(RpSessionDetailSkeleton, {});
5598
5669
  }
5599
- return /* @__PURE__ */ (0, import_jsx_runtime130.jsxs)(import_themes7.Box, { py: "6", children: [
5600
- /* @__PURE__ */ (0, import_jsx_runtime130.jsxs)(import_themes23.Flex, { direction: "column", gap: { initial: "5", md: "7" }, children: [
5601
- /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
5670
+ return /* @__PURE__ */ (0, import_jsx_runtime132.jsxs)(import_themes7.Box, { py: "6", children: [
5671
+ /* @__PURE__ */ (0, import_jsx_runtime132.jsxs)(import_themes23.Flex, { direction: "column", gap: { initial: "5", md: "7" }, children: [
5672
+ /* @__PURE__ */ (0, import_jsx_runtime132.jsx)(
5602
5673
  Header,
5603
5674
  {
5604
5675
  detail,
@@ -5609,7 +5680,7 @@ function RpSessionDetail({
5609
5680
  onResolveMediaUrl
5610
5681
  }
5611
5682
  ),
5612
- isAnalyzing ? /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(AnalyzingState, {}) : /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
5683
+ isAnalyzing ? /* @__PURE__ */ (0, import_jsx_runtime132.jsx)(AnalyzingState, {}) : /* @__PURE__ */ (0, import_jsx_runtime132.jsx)(
5613
5684
  Content9,
5614
5685
  {
5615
5686
  detail,
@@ -5620,7 +5691,7 @@ function RpSessionDetail({
5620
5691
  }
5621
5692
  )
5622
5693
  ] }),
5623
- /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
5694
+ /* @__PURE__ */ (0, import_jsx_runtime132.jsx)(
5624
5695
  SessionReplayDialog,
5625
5696
  {
5626
5697
  detail,