@tipp/ui 2.10.3 → 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 (337) 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 +80 -78
  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 +30 -29
  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 +30 -29
  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 +5 -4
  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 +64 -62
  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 +64 -62
  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 +65 -63
  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 +30 -29
  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 +64 -62
  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 +30 -29
  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 +65 -63
  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 +65 -63
  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 +30 -29
  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 +34 -33
  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 +30 -29
  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 +30 -29
  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 +29 -28
  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 +29 -28
  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 +29 -28
  58. package/dist/app/roleplay/index.cjs +459 -388
  59. package/dist/app/roleplay/index.cjs.map +1 -1
  60. package/dist/app/roleplay/index.js +76 -74
  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 +29 -28
  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 +30 -29
  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 +72 -70
  70. package/dist/app/roleplay/parts/header.cjs +82 -59
  71. package/dist/app/roleplay/parts/header.cjs.map +1 -1
  72. package/dist/app/roleplay/parts/header.js +30 -29
  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 +30 -29
  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 +68 -66
  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 +29 -28
  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 +29 -28
  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 +29 -28
  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 +29 -28
  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 +29 -28
  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 +32 -31
  97. package/dist/app/roleplay/rp-session-detail.cjs +459 -388
  98. package/dist/app/roleplay/rp-session-detail.cjs.map +1 -1
  99. package/dist/app/roleplay/rp-session-detail.js +76 -74
  100. package/dist/atoms/index.cjs +82 -59
  101. package/dist/atoms/index.cjs.map +1 -1
  102. package/dist/atoms/index.js +64 -63
  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-ZQLHRK36.js → chunk-2XDAK4B7.js} +4 -4
  110. package/dist/{chunk-AHAGCAQR.js → chunk-3DZIX4CE.js} +7 -7
  111. package/dist/{chunk-QOVPEQS3.js → chunk-4GH4R4VJ.js} +4 -4
  112. package/dist/chunk-5DRITHNR.js +1 -0
  113. package/dist/{chunk-QVGQBTSJ.js → chunk-5IGBFB67.js} +10 -10
  114. package/dist/{chunk-5RIAIE2J.js → chunk-73PHGHPI.js} +5 -2
  115. package/dist/chunk-73PHGHPI.js.map +1 -0
  116. package/dist/{chunk-UAUA3PMP.js → chunk-74PR3ZWJ.js} +4 -4
  117. package/dist/{chunk-RPQWRKBW.js → chunk-AYWCLLQ2.js} +7 -7
  118. package/dist/{chunk-KQIUOEBS.js → chunk-C4INJWFV.js} +4 -4
  119. package/dist/{chunk-RBWD6IKY.js → chunk-CBYIPRND.js} +4 -4
  120. package/dist/{chunk-JTVBWQJW.js → chunk-CGLDFUOY.js} +4 -4
  121. package/dist/{chunk-K4QH4R3O.js → chunk-CUS3ORMD.js} +4 -4
  122. package/dist/{chunk-H533TE6M.js → chunk-D4U2ZV2A.js} +4 -4
  123. package/dist/{chunk-RRC4WFG3.js → chunk-DIFGHMGI.js} +2 -2
  124. package/dist/{chunk-EXMCCYI2.js → chunk-DPMDQA3O.js} +4 -4
  125. package/dist/{chunk-L4KGHM2H.js → chunk-EJXZXUD2.js} +10 -10
  126. package/dist/{chunk-ZIHVLMT5.js → chunk-GA6W62DO.js} +4 -4
  127. package/dist/{chunk-P2H3VCIB.js → chunk-HL3MGRAC.js} +4 -4
  128. package/dist/chunk-IAKMJR72.js +33 -0
  129. package/dist/chunk-IAKMJR72.js.map +1 -0
  130. package/dist/{chunk-6UWQKH6U.js → chunk-IHLFOJD5.js} +2 -2
  131. package/dist/{chunk-SX46O67F.js → chunk-ISSUGCCY.js} +4 -4
  132. package/dist/{chunk-3ZJVSSAA.js → chunk-KQ3ME6XY.js} +8 -8
  133. package/dist/{chunk-OBJA26HX.js → chunk-L7ZHSQES.js} +8 -8
  134. package/dist/{chunk-PBKV2YMF.js → chunk-LGILQRJM.js} +9 -9
  135. package/dist/{chunk-YYVSUTXO.js → chunk-LK2H4QTJ.js} +4 -4
  136. package/dist/{chunk-XMZYZJTH.js → chunk-N3FMP27I.js} +4 -4
  137. package/dist/{chunk-66SUBB2N.js → chunk-NEJCZABQ.js} +9 -9
  138. package/dist/{chunk-UMLYWHB2.js → chunk-NK6S7ZMB.js} +4 -4
  139. package/dist/{chunk-RJ7XSZ2V.js → chunk-OPIVSYLN.js} +4 -4
  140. package/dist/{chunk-NVBAOOAT.js → chunk-OUDDTPEN.js} +4 -4
  141. package/dist/{chunk-V4QYGHOJ.js → chunk-Q2FDF2AB.js} +7 -7
  142. package/dist/{chunk-3FVDFMKP.js → chunk-RBU2TRYY.js} +9 -9
  143. package/dist/{chunk-PS525SZS.js → chunk-RJ62VZ6O.js} +3 -3
  144. package/dist/{chunk-WJ35Y2IU.js → chunk-SQ3FYBJT.js} +2 -2
  145. package/dist/{chunk-2H635UNE.js → chunk-TYM6T7JT.js} +2 -2
  146. package/dist/{chunk-RZW6FVML.js → chunk-UCTSCSQR.js} +2 -2
  147. package/dist/{chunk-HNAZV4MI.js → chunk-V7KAHLW2.js} +5 -5
  148. package/dist/{chunk-PVDHXFLT.js → chunk-VBXZIIUA.js} +4 -4
  149. package/dist/{chunk-TDWMI7ZT.js → chunk-VBYXXISC.js} +5 -5
  150. package/dist/{chunk-77J4AZEO.js → chunk-VJREZH2Z.js} +4 -4
  151. package/dist/{chunk-RJN4QT5J.js → chunk-WLKK5L3P.js} +7 -7
  152. package/dist/{chunk-A5AZWTXV.js → chunk-WYHDQK2S.js} +7 -7
  153. package/dist/{chunk-54GRMFDC.js → chunk-X3TBEGPA.js} +4 -4
  154. package/dist/context/index.js +1 -1
  155. package/dist/icon.cjs +25 -0
  156. package/dist/icon.cjs.map +1 -1
  157. package/dist/icon.d.cts +1 -0
  158. package/dist/icon.d.ts +1 -0
  159. package/dist/icon.js +7 -3
  160. package/dist/icons/empty-box.cjs +90 -0
  161. package/dist/icons/empty-box.cjs.map +1 -0
  162. package/dist/icons/empty-box.d.cts +13 -0
  163. package/dist/icons/empty-box.d.ts +13 -0
  164. package/dist/icons/empty-box.js +8 -0
  165. package/dist/icons/empty-box.js.map +1 -0
  166. package/dist/icons/index.cjs +25 -0
  167. package/dist/icons/index.cjs.map +1 -1
  168. package/dist/icons/index.d.cts +1 -0
  169. package/dist/icons/index.d.ts +1 -0
  170. package/dist/icons/index.js +7 -3
  171. package/dist/index.cjs +959 -884
  172. package/dist/index.cjs.map +1 -1
  173. package/dist/index.d.cts +2 -0
  174. package/dist/index.d.ts +2 -0
  175. package/dist/index.js +148 -140
  176. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/index.cjs +95 -72
  177. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/index.cjs.map +1 -1
  178. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/index.js +11 -10
  179. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-comp.cjs +29 -6
  180. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-comp.cjs.map +1 -1
  181. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-comp.js +3 -2
  182. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-body.cjs +71 -48
  183. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-body.cjs.map +1 -1
  184. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-body.js +9 -8
  185. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-footer.cjs +32 -9
  186. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-footer.cjs.map +1 -1
  187. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-footer.js +3 -2
  188. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-radio.cjs +41 -18
  189. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-radio.cjs.map +1 -1
  190. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-radio.js +5 -4
  191. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-satisfaction-option.cjs +33 -10
  192. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-satisfaction-option.cjs.map +1 -1
  193. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-satisfaction-option.js +5 -4
  194. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-satisfaction-text.cjs +33 -10
  195. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-satisfaction-text.cjs.map +1 -1
  196. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-satisfaction-text.js +4 -3
  197. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-text.cjs +42 -19
  198. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-text.cjs.map +1 -1
  199. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-text.js +6 -5
  200. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/complete-review.cjs +37 -14
  201. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/complete-review.cjs.map +1 -1
  202. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/complete-review.js +3 -2
  203. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/index.cjs +153 -130
  204. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/index.cjs.map +1 -1
  205. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/index.js +14 -13
  206. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/start-review.cjs +45 -22
  207. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/start-review.cjs.map +1 -1
  208. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/start-review.js +5 -4
  209. package/dist/molecules/curriculumV2/CurriculumContents/curriculum-ai-traning.cjs +30 -7
  210. package/dist/molecules/curriculumV2/CurriculumContents/curriculum-ai-traning.cjs.map +1 -1
  211. package/dist/molecules/curriculumV2/CurriculumContents/curriculum-ai-traning.js +3 -2
  212. package/dist/molecules/curriculumV2/CurriculumContents/curriculum-review.cjs +171 -148
  213. package/dist/molecules/curriculumV2/CurriculumContents/curriculum-review.cjs.map +1 -1
  214. package/dist/molecules/curriculumV2/CurriculumContents/curriculum-review.js +15 -14
  215. package/dist/molecules/curriculumV2/CurriculumContents/index.cjs +220 -197
  216. package/dist/molecules/curriculumV2/CurriculumContents/index.cjs.map +1 -1
  217. package/dist/molecules/curriculumV2/CurriculumContents/index.js +18 -17
  218. package/dist/molecules/curriculumV2/CurriculumSidebar/Items/section-item.cjs +33 -10
  219. package/dist/molecules/curriculumV2/CurriculumSidebar/Items/section-item.cjs.map +1 -1
  220. package/dist/molecules/curriculumV2/CurriculumSidebar/Items/section-item.js +3 -2
  221. package/dist/molecules/curriculumV2/CurriculumSidebar/index.cjs +52 -29
  222. package/dist/molecules/curriculumV2/CurriculumSidebar/index.cjs.map +1 -1
  223. package/dist/molecules/curriculumV2/CurriculumSidebar/index.js +8 -7
  224. package/dist/molecules/curriculumV2/CurriculumSidebar/sidebar-item.cjs +44 -21
  225. package/dist/molecules/curriculumV2/CurriculumSidebar/sidebar-item.cjs.map +1 -1
  226. package/dist/molecules/curriculumV2/CurriculumSidebar/sidebar-item.js +6 -5
  227. package/dist/molecules/curriculumV2/curriculum-sub-nav.cjs +36 -13
  228. package/dist/molecules/curriculumV2/curriculum-sub-nav.cjs.map +1 -1
  229. package/dist/molecules/curriculumV2/curriculum-sub-nav.js +3 -2
  230. package/dist/molecules/curriculumV2/index.cjs +264 -241
  231. package/dist/molecules/curriculumV2/index.cjs.map +1 -1
  232. package/dist/molecules/curriculumV2/index.js +28 -27
  233. package/dist/molecules/date-picker/date-picker-button.cjs +52 -29
  234. package/dist/molecules/date-picker/date-picker-button.cjs.map +1 -1
  235. package/dist/molecules/date-picker/date-picker-button.js +3 -2
  236. package/dist/molecules/date-picker/index.cjs +40 -17
  237. package/dist/molecules/date-picker/index.cjs.map +1 -1
  238. package/dist/molecules/date-picker/index.js +3 -2
  239. package/dist/molecules/description-json-render.cjs +31 -8
  240. package/dist/molecules/description-json-render.cjs.map +1 -1
  241. package/dist/molecules/description-json-render.js +5 -4
  242. package/dist/molecules/dynamic-field.js +3 -3
  243. package/dist/molecules/dynamic-form-editor-field-editor-panel.cjs +138 -115
  244. package/dist/molecules/dynamic-form-editor-field-editor-panel.cjs.map +1 -1
  245. package/dist/molecules/dynamic-form-editor-field-editor-panel.js +6 -5
  246. package/dist/molecules/dynamic-form-editor-field-list-panel.js +2 -2
  247. package/dist/molecules/dynamic-form-editor-issues-panel.js +2 -2
  248. package/dist/molecules/dynamic-form-editor-preview-panel.js +6 -6
  249. package/dist/molecules/dynamic-form-editor.cjs +223 -200
  250. package/dist/molecules/dynamic-form-editor.cjs.map +1 -1
  251. package/dist/molecules/dynamic-form-editor.js +14 -13
  252. package/dist/molecules/dynamic-form.js +4 -4
  253. package/dist/molecules/empty-state.cjs +328 -0
  254. package/dist/molecules/empty-state.cjs.map +1 -0
  255. package/dist/molecules/empty-state.d.cts +21 -0
  256. package/dist/molecules/empty-state.d.ts +21 -0
  257. package/dist/molecules/empty-state.js +16 -0
  258. package/dist/molecules/empty-state.js.map +1 -0
  259. package/dist/molecules/expand-table/index.cjs +193 -58
  260. package/dist/molecules/expand-table/index.cjs.map +1 -1
  261. package/dist/molecules/expand-table/index.js +7 -4
  262. package/dist/molecules/index.cjs +862 -789
  263. package/dist/molecules/index.cjs.map +1 -1
  264. package/dist/molecules/index.d.cts +2 -1
  265. package/dist/molecules/index.d.ts +2 -1
  266. package/dist/molecules/index.js +69 -64
  267. package/dist/molecules/learning-post.js +3 -3
  268. package/dist/molecules/stepper.cjs +43 -20
  269. package/dist/molecules/stepper.cjs.map +1 -1
  270. package/dist/molecules/stepper.js +5 -4
  271. package/dist/molecules/tag-selector.cjs +43 -20
  272. package/dist/molecules/tag-selector.cjs.map +1 -1
  273. package/dist/molecules/tag-selector.js +6 -5
  274. package/dist/molecules/time-select.cjs +28 -5
  275. package/dist/molecules/time-select.cjs.map +1 -1
  276. package/dist/molecules/time-select.js +3 -2
  277. package/dist/molecules/training-info-guideline.js +1 -1
  278. package/dist/utils/curriculum.utils.cjs +23 -0
  279. package/dist/utils/curriculum.utils.cjs.map +1 -1
  280. package/dist/utils/curriculum.utils.js +3 -2
  281. package/dist/utils/get-callout-icon-component.cjs +23 -0
  282. package/dist/utils/get-callout-icon-component.cjs.map +1 -1
  283. package/dist/utils/get-callout-icon-component.js +3 -2
  284. package/dist/utils/index.cjs +23 -0
  285. package/dist/utils/index.cjs.map +1 -1
  286. package/dist/utils/index.js +3 -2
  287. package/package.json +1 -1
  288. package/src/icons/empty-box.tsx +29 -0
  289. package/src/icons/index.ts +2 -1
  290. package/src/molecules/empty-state.tsx +79 -0
  291. package/src/molecules/expand-table/index.tsx +2 -3
  292. package/src/molecules/index.ts +1 -0
  293. package/dist/chunk-5RIAIE2J.js.map +0 -1
  294. package/dist/chunk-JVXATVAC.js +0 -1
  295. package/dist/chunk-SYMOHU2B.js +0 -1
  296. /package/dist/{chunk-JVXATVAC.js.map → chunk-2PPLSZ4P.js.map} +0 -0
  297. /package/dist/{chunk-ZQLHRK36.js.map → chunk-2XDAK4B7.js.map} +0 -0
  298. /package/dist/{chunk-AHAGCAQR.js.map → chunk-3DZIX4CE.js.map} +0 -0
  299. /package/dist/{chunk-QOVPEQS3.js.map → chunk-4GH4R4VJ.js.map} +0 -0
  300. /package/dist/{chunk-SYMOHU2B.js.map → chunk-5DRITHNR.js.map} +0 -0
  301. /package/dist/{chunk-QVGQBTSJ.js.map → chunk-5IGBFB67.js.map} +0 -0
  302. /package/dist/{chunk-UAUA3PMP.js.map → chunk-74PR3ZWJ.js.map} +0 -0
  303. /package/dist/{chunk-RPQWRKBW.js.map → chunk-AYWCLLQ2.js.map} +0 -0
  304. /package/dist/{chunk-KQIUOEBS.js.map → chunk-C4INJWFV.js.map} +0 -0
  305. /package/dist/{chunk-RBWD6IKY.js.map → chunk-CBYIPRND.js.map} +0 -0
  306. /package/dist/{chunk-JTVBWQJW.js.map → chunk-CGLDFUOY.js.map} +0 -0
  307. /package/dist/{chunk-K4QH4R3O.js.map → chunk-CUS3ORMD.js.map} +0 -0
  308. /package/dist/{chunk-H533TE6M.js.map → chunk-D4U2ZV2A.js.map} +0 -0
  309. /package/dist/{chunk-RRC4WFG3.js.map → chunk-DIFGHMGI.js.map} +0 -0
  310. /package/dist/{chunk-EXMCCYI2.js.map → chunk-DPMDQA3O.js.map} +0 -0
  311. /package/dist/{chunk-L4KGHM2H.js.map → chunk-EJXZXUD2.js.map} +0 -0
  312. /package/dist/{chunk-ZIHVLMT5.js.map → chunk-GA6W62DO.js.map} +0 -0
  313. /package/dist/{chunk-P2H3VCIB.js.map → chunk-HL3MGRAC.js.map} +0 -0
  314. /package/dist/{chunk-6UWQKH6U.js.map → chunk-IHLFOJD5.js.map} +0 -0
  315. /package/dist/{chunk-SX46O67F.js.map → chunk-ISSUGCCY.js.map} +0 -0
  316. /package/dist/{chunk-3ZJVSSAA.js.map → chunk-KQ3ME6XY.js.map} +0 -0
  317. /package/dist/{chunk-OBJA26HX.js.map → chunk-L7ZHSQES.js.map} +0 -0
  318. /package/dist/{chunk-PBKV2YMF.js.map → chunk-LGILQRJM.js.map} +0 -0
  319. /package/dist/{chunk-YYVSUTXO.js.map → chunk-LK2H4QTJ.js.map} +0 -0
  320. /package/dist/{chunk-XMZYZJTH.js.map → chunk-N3FMP27I.js.map} +0 -0
  321. /package/dist/{chunk-66SUBB2N.js.map → chunk-NEJCZABQ.js.map} +0 -0
  322. /package/dist/{chunk-UMLYWHB2.js.map → chunk-NK6S7ZMB.js.map} +0 -0
  323. /package/dist/{chunk-RJ7XSZ2V.js.map → chunk-OPIVSYLN.js.map} +0 -0
  324. /package/dist/{chunk-NVBAOOAT.js.map → chunk-OUDDTPEN.js.map} +0 -0
  325. /package/dist/{chunk-V4QYGHOJ.js.map → chunk-Q2FDF2AB.js.map} +0 -0
  326. /package/dist/{chunk-3FVDFMKP.js.map → chunk-RBU2TRYY.js.map} +0 -0
  327. /package/dist/{chunk-PS525SZS.js.map → chunk-RJ62VZ6O.js.map} +0 -0
  328. /package/dist/{chunk-WJ35Y2IU.js.map → chunk-SQ3FYBJT.js.map} +0 -0
  329. /package/dist/{chunk-2H635UNE.js.map → chunk-TYM6T7JT.js.map} +0 -0
  330. /package/dist/{chunk-RZW6FVML.js.map → chunk-UCTSCSQR.js.map} +0 -0
  331. /package/dist/{chunk-HNAZV4MI.js.map → chunk-V7KAHLW2.js.map} +0 -0
  332. /package/dist/{chunk-PVDHXFLT.js.map → chunk-VBXZIIUA.js.map} +0 -0
  333. /package/dist/{chunk-TDWMI7ZT.js.map → chunk-VBYXXISC.js.map} +0 -0
  334. /package/dist/{chunk-77J4AZEO.js.map → chunk-VJREZH2Z.js.map} +0 -0
  335. /package/dist/{chunk-RJN4QT5J.js.map → chunk-WLKK5L3P.js.map} +0 -0
  336. /package/dist/{chunk-A5AZWTXV.js.map → chunk-WYHDQK2S.js.map} +0 -0
  337. /package/dist/{chunk-54GRMFDC.js.map → chunk-X3TBEGPA.js.map} +0 -0
@@ -1970,8 +1970,31 @@ var HeadsetIcon = React34.forwardRef(
1970
1970
  );
1971
1971
  HeadsetIcon.displayName = "HeadsetIcon";
1972
1972
 
1973
- // src/atoms/pagination.tsx
1973
+ // src/icons/empty-box.tsx
1974
+ var React35 = __toESM(require("react"), 1);
1974
1975
  var import_jsx_runtime51 = require("react/jsx-runtime");
1976
+ var EmptyBoxIcon = React35.forwardRef(
1977
+ (_a, forwardedRef) => {
1978
+ var _b = _a, { color = "currentColor", width = 120, height = 120 } = _b, props = __objRest(_b, ["color", "width", "height"]);
1979
+ return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
1980
+ "svg",
1981
+ __spreadProps(__spreadValues({
1982
+ fill: color,
1983
+ height,
1984
+ viewBox: "0 0 462.035 462.035",
1985
+ width,
1986
+ xmlns: "http://www.w3.org/2000/svg"
1987
+ }, props), {
1988
+ ref: forwardedRef,
1989
+ 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" })
1990
+ })
1991
+ );
1992
+ }
1993
+ );
1994
+ EmptyBoxIcon.displayName = "EmptyBoxIcon";
1995
+
1996
+ // src/atoms/pagination.tsx
1997
+ var import_jsx_runtime52 = require("react/jsx-runtime");
1975
1998
  function Pagination(props) {
1976
1999
  const { onChange, count = 0, siblingCount = 2 } = props;
1977
2000
  const isControlled = props.page !== void 0;
@@ -2040,7 +2063,7 @@ function Pagination(props) {
2040
2063
  const { color: resolvedColor, className: colorClassName } = resolveColor(
2041
2064
  props.color
2042
2065
  );
2043
- return /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(
2066
+ return /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(
2044
2067
  import_themes23.Flex,
2045
2068
  {
2046
2069
  align: "center",
@@ -2048,18 +2071,18 @@ function Pagination(props) {
2048
2071
  className: colorClassName ? `tipp-pagination ${colorClassName}` : "tipp-pagination",
2049
2072
  "data-accent-color": resolvedColor,
2050
2073
  children: [
2051
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
2074
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
2052
2075
  IconButton,
2053
2076
  __spreadProps(__spreadValues({
2054
2077
  disabled: !doublePrev,
2055
2078
  onClick: onClickDoublePrev
2056
2079
  }, moveButtonProps), {
2057
- children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_react_icons2.DoubleArrowLeftIcon, __spreadValues({}, iconSize))
2080
+ children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_react_icons2.DoubleArrowLeftIcon, __spreadValues({}, iconSize))
2058
2081
  })
2059
2082
  ),
2060
- /* @__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)) })),
2061
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_themes23.Flex, { gap: "1", children: visibleItems.map((item) => {
2062
- return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
2083
+ /* @__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)) })),
2084
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_themes23.Flex, { gap: "1", children: visibleItems.map((item) => {
2085
+ return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
2063
2086
  "button",
2064
2087
  {
2065
2088
  className: `page-button ${item === page ? "active" : ""}`,
@@ -2067,19 +2090,19 @@ function Pagination(props) {
2067
2090
  goToPage(item);
2068
2091
  },
2069
2092
  type: "button",
2070
- children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Typo, { variant: "body", children: item })
2093
+ children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Typo, { variant: "body", children: item })
2071
2094
  },
2072
2095
  item
2073
2096
  );
2074
2097
  }) }),
2075
- /* @__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)) })),
2076
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
2098
+ /* @__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)) })),
2099
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
2077
2100
  IconButton,
2078
2101
  __spreadProps(__spreadValues({
2079
2102
  disabled: !doubleNext,
2080
2103
  onClick: onClickDoubleNext
2081
2104
  }, moveButtonProps), {
2082
- children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_react_icons2.DoubleArrowRightIcon, __spreadValues({}, iconSize))
2105
+ children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_react_icons2.DoubleArrowRightIcon, __spreadValues({}, iconSize))
2083
2106
  })
2084
2107
  )
2085
2108
  ]
@@ -2088,23 +2111,23 @@ function Pagination(props) {
2088
2111
  }
2089
2112
 
2090
2113
  // src/atoms/field-error-wrapper.tsx
2091
- var import_jsx_runtime52 = require("react/jsx-runtime");
2114
+ var import_jsx_runtime53 = require("react/jsx-runtime");
2092
2115
 
2093
2116
  // src/atoms/ellipsis-tooltip.tsx
2094
2117
  var import_react37 = require("react");
2095
- var import_jsx_runtime53 = require("react/jsx-runtime");
2118
+ var import_jsx_runtime54 = require("react/jsx-runtime");
2096
2119
 
2097
2120
  // src/atoms/drawer.tsx
2098
2121
  var Dialog2 = __toESM(require("@radix-ui/react-dialog"), 1);
2099
2122
  var import_themes51 = require("@radix-ui/themes");
2100
2123
 
2101
2124
  // src/icons/close-panel-arrow.tsx
2102
- var React37 = __toESM(require("react"), 1);
2103
- var import_jsx_runtime54 = require("react/jsx-runtime");
2104
- var ClosePanelArrowIcon = React37.forwardRef(
2125
+ var React38 = __toESM(require("react"), 1);
2126
+ var import_jsx_runtime55 = require("react/jsx-runtime");
2127
+ var ClosePanelArrowIcon = React38.forwardRef(
2105
2128
  (_a, forwardedRef) => {
2106
2129
  var _b = _a, { color = "currentColor" } = _b, props = __objRest(_b, ["color"]);
2107
- return /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(
2130
+ return /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(
2108
2131
  "svg",
2109
2132
  __spreadProps(__spreadValues({
2110
2133
  fill: "none",
@@ -2115,7 +2138,7 @@ var ClosePanelArrowIcon = React37.forwardRef(
2115
2138
  }, props), {
2116
2139
  ref: forwardedRef,
2117
2140
  children: [
2118
- /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
2141
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
2119
2142
  "path",
2120
2143
  {
2121
2144
  clipRule: "evenodd",
@@ -2124,7 +2147,7 @@ var ClosePanelArrowIcon = React37.forwardRef(
2124
2147
  fillRule: "evenodd"
2125
2148
  }
2126
2149
  ),
2127
- /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
2150
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
2128
2151
  "path",
2129
2152
  {
2130
2153
  clipRule: "evenodd",
@@ -2141,11 +2164,11 @@ var ClosePanelArrowIcon = React37.forwardRef(
2141
2164
  ClosePanelArrowIcon.displayName = "ArrowDownIcon";
2142
2165
 
2143
2166
  // src/atoms/drawer.tsx
2144
- var import_jsx_runtime55 = require("react/jsx-runtime");
2167
+ var import_jsx_runtime56 = require("react/jsx-runtime");
2145
2168
 
2146
2169
  // src/atoms/toast.tsx
2147
2170
  var import_sonner = require("sonner");
2148
- var import_jsx_runtime56 = require("react/jsx-runtime");
2171
+ var import_jsx_runtime57 = require("react/jsx-runtime");
2149
2172
  var toast = Object.assign(import_sonner.toast, {
2150
2173
  warn: import_sonner.toast.warning
2151
2174
  });
@@ -2153,11 +2176,11 @@ var toast = Object.assign(import_sonner.toast, {
2153
2176
  // src/molecules/form/form.tsx
2154
2177
  var RadixForm = __toESM(require("@radix-ui/react-form"), 1);
2155
2178
  var import_react38 = require("react");
2156
- var import_jsx_runtime57 = require("react/jsx-runtime");
2179
+ var import_jsx_runtime58 = require("react/jsx-runtime");
2157
2180
  var Root15 = (0, import_react38.forwardRef)(
2158
2181
  (_a, ref) => {
2159
2182
  var _b = _a, { children, className } = _b, rest = __objRest(_b, ["children", "className"]);
2160
- return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
2183
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
2161
2184
  RadixForm.Root,
2162
2185
  __spreadProps(__spreadValues({}, rest), {
2163
2186
  className: `FormRoot ${className || ""}`,
@@ -2174,25 +2197,25 @@ var FieldContext = (0, import_react38.createContext)({
2174
2197
  var Field2 = (0, import_react38.forwardRef)(
2175
2198
  (_a, ref) => {
2176
2199
  var _b = _a, { children, className } = _b, rest = __objRest(_b, ["children", "className"]);
2177
- return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
2200
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
2178
2201
  RadixForm.Field,
2179
2202
  __spreadProps(__spreadValues({}, rest), {
2180
2203
  className: `FormField ${className || ""}`,
2181
2204
  ref,
2182
- children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(FieldContext.Provider, { value: rest, children })
2205
+ children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(FieldContext.Provider, { value: rest, children })
2183
2206
  })
2184
2207
  );
2185
2208
  }
2186
2209
  );
2187
2210
  Field2.displayName = "FORM_FIELD";
2188
2211
  function HeadingLabel(props) {
2189
- return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(Heading2, __spreadProps(__spreadValues({ variant: "heading5" }, props), { children: props.children }));
2212
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(Heading2, __spreadProps(__spreadValues({ variant: "heading5" }, props), { children: props.children }));
2190
2213
  }
2191
2214
  function CaptionLabel(props) {
2192
- return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(Typo, __spreadProps(__spreadValues({ color: "gray", variant: "caption", weight: "bold" }, props), { children: props.children }));
2215
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(Typo, __spreadProps(__spreadValues({ color: "gray", variant: "caption", weight: "bold" }, props), { children: props.children }));
2193
2216
  }
2194
2217
  function BodyLabel(props) {
2195
- return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(Typo, __spreadProps(__spreadValues({ variant: "body", weight: "bold" }, props), { children: props.children }));
2218
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(Typo, __spreadProps(__spreadValues({ variant: "body", weight: "bold" }, props), { children: props.children }));
2196
2219
  }
2197
2220
  var Label3 = (0, import_react38.forwardRef)(
2198
2221
  (_a, ref) => {
@@ -2209,15 +2232,15 @@ var Label3 = (0, import_react38.forwardRef)(
2209
2232
  }
2210
2233
  }, [variant]);
2211
2234
  const fieldProps = (0, import_react38.useContext)(FieldContext);
2212
- return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
2235
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
2213
2236
  RadixForm.Label,
2214
2237
  __spreadProps(__spreadValues({}, rest), {
2215
2238
  asChild: true,
2216
2239
  className: `FormLabel ${className || ""}`,
2217
2240
  ref,
2218
- children: /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(Comp, { children: [
2241
+ children: /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(Comp, { children: [
2219
2242
  children,
2220
- fieldProps.required ? /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(Typo, { as: "span", color: "tomato", children: ` *` }) : null
2243
+ fieldProps.required ? /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(Typo, { as: "span", color: "tomato", children: ` *` }) : null
2221
2244
  ] })
2222
2245
  })
2223
2246
  );
@@ -2227,13 +2250,13 @@ Label3.displayName = "FORM_Label";
2227
2250
  var Message2 = (0, import_react38.forwardRef)(
2228
2251
  (_a, ref) => {
2229
2252
  var _b = _a, { children, className } = _b, rest = __objRest(_b, ["children", "className"]);
2230
- return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
2253
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
2231
2254
  RadixForm.Message,
2232
2255
  __spreadProps(__spreadValues({}, rest), {
2233
2256
  asChild: true,
2234
2257
  className: `FormMessage ${className || ""}`,
2235
2258
  ref,
2236
- children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(Typo, { color: "red", children })
2259
+ children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(Typo, { color: "red", children })
2237
2260
  })
2238
2261
  );
2239
2262
  }
@@ -2243,7 +2266,7 @@ var Control2 = (0, import_react38.forwardRef)(
2243
2266
  (_a, ref) => {
2244
2267
  var _b = _a, { className } = _b, rest = __objRest(_b, ["className"]);
2245
2268
  const fieldProps = (0, import_react38.useContext)(FieldContext);
2246
- return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
2269
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
2247
2270
  RadixForm.Control,
2248
2271
  __spreadProps(__spreadValues({}, rest), {
2249
2272
  className: `FormControl ${className || ""}`,
@@ -2258,7 +2281,7 @@ Control2.displayName = "FORM_Control";
2258
2281
  // src/atoms/auto-sizing-input.tsx
2259
2282
  var import_themes52 = require("@radix-ui/themes");
2260
2283
  var import_react39 = require("react");
2261
- var import_jsx_runtime58 = require("react/jsx-runtime");
2284
+ var import_jsx_runtime59 = require("react/jsx-runtime");
2262
2285
  var useTextWidth = (text, font) => {
2263
2286
  const [textWidth, setTextWidth] = (0, import_react39.useState)(0);
2264
2287
  (0, import_react39.useEffect)(() => {
@@ -2358,7 +2381,7 @@ var AutoSizingInput = (0, import_react39.forwardRef)(
2358
2381
  (_a2 = inputRef.current) == null ? void 0 : _a2.focus();
2359
2382
  }
2360
2383
  }, [inputRef]);
2361
- return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
2384
+ return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
2362
2385
  import_themes52.Box,
2363
2386
  {
2364
2387
  className: "auto-sizing-input wrapper",
@@ -2366,7 +2389,7 @@ var AutoSizingInput = (0, import_react39.forwardRef)(
2366
2389
  minWidth,
2367
2390
  onClick,
2368
2391
  style: { width: dynamicWidth },
2369
- children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("input", __spreadValues({ onChange: handleChange, ref: inputRef, value }, rest))
2392
+ children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("input", __spreadValues({ onChange: handleChange, ref: inputRef, value }, rest))
2370
2393
  }
2371
2394
  );
2372
2395
  }
@@ -2374,12 +2397,12 @@ var AutoSizingInput = (0, import_react39.forwardRef)(
2374
2397
  AutoSizingInput.displayName = "AutoSizingInput";
2375
2398
 
2376
2399
  // src/atoms/bullet-text.tsx
2377
- var import_jsx_runtime59 = require("react/jsx-runtime");
2400
+ var import_jsx_runtime60 = require("react/jsx-runtime");
2378
2401
 
2379
2402
  // src/atoms/list.tsx
2380
2403
  var import_react40 = require("react");
2381
2404
  var import_clsx28 = require("clsx");
2382
- var import_jsx_runtime60 = require("react/jsx-runtime");
2405
+ var import_jsx_runtime61 = require("react/jsx-runtime");
2383
2406
  var ListContext = (0, import_react40.createContext)({
2384
2407
  size: "large"
2385
2408
  });
@@ -2780,15 +2803,15 @@ function statusLabelOf(status) {
2780
2803
  }
2781
2804
 
2782
2805
  // src/app/roleplay/parts/analysis-section.tsx
2783
- var import_jsx_runtime61 = require("react/jsx-runtime");
2806
+ var import_jsx_runtime62 = require("react/jsx-runtime");
2784
2807
  function Section2({
2785
2808
  title,
2786
2809
  desc,
2787
2810
  children
2788
2811
  }) {
2789
- return /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("section", { children: [
2790
- /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(import_themes7.Box, { mb: "3", children: [
2791
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
2812
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("section", { children: [
2813
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(import_themes7.Box, { mb: "3", children: [
2814
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
2792
2815
  Heading2,
2793
2816
  {
2794
2817
  size: { initial: "4", md: "5" },
@@ -2797,7 +2820,7 @@ function Section2({
2797
2820
  children: title
2798
2821
  }
2799
2822
  ),
2800
- 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
2823
+ 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
2801
2824
  ] }),
2802
2825
  children
2803
2826
  ] });
@@ -2811,9 +2834,9 @@ function AnalysisSection({
2811
2834
  if (items.length === 0) return null;
2812
2835
  const accentBorder = tone === "good" ? "var(--green-a6)" : "var(--amber-a6)";
2813
2836
  const numColor = tone === "good" ? "var(--green-11)" : "var(--amber-11)";
2814
- 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: [
2815
- index > 0 && /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(import_themes40.Separator, { size: "4" }),
2816
- /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(
2837
+ 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: [
2838
+ index > 0 && /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_themes40.Separator, { size: "4" }),
2839
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(
2817
2840
  import_themes23.Flex,
2818
2841
  {
2819
2842
  gap: "3",
@@ -2821,7 +2844,7 @@ function AnalysisSection({
2821
2844
  py: "3",
2822
2845
  style: { borderLeft: `2px solid ${accentBorder}` },
2823
2846
  children: [
2824
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
2847
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
2825
2848
  Typo,
2826
2849
  {
2827
2850
  as: "span",
@@ -2832,9 +2855,9 @@ function AnalysisSection({
2832
2855
  children: index + 1
2833
2856
  }
2834
2857
  ),
2835
- /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(import_themes7.Box, { style: { minWidth: 0 }, children: [
2836
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(Typo, { as: "p", variant: "body", weight: "medium", children: item.title }),
2837
- /* @__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 }) })
2858
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(import_themes7.Box, { style: { minWidth: 0 }, children: [
2859
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Typo, { as: "p", variant: "body", weight: "medium", children: item.title }),
2860
+ /* @__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 }) })
2838
2861
  ] })
2839
2862
  ]
2840
2863
  }
@@ -2843,15 +2866,15 @@ function AnalysisSection({
2843
2866
  }
2844
2867
 
2845
2868
  // src/app/roleplay/parts/coaching-panel.tsx
2846
- var import_jsx_runtime62 = require("react/jsx-runtime");
2869
+ var import_jsx_runtime63 = require("react/jsx-runtime");
2847
2870
  function Section3({
2848
2871
  title,
2849
2872
  desc,
2850
2873
  children
2851
2874
  }) {
2852
- return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("section", { children: [
2853
- /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(import_themes7.Box, { mb: "3", children: [
2854
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
2875
+ return /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("section", { children: [
2876
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(import_themes7.Box, { mb: "3", children: [
2877
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
2855
2878
  Heading2,
2856
2879
  {
2857
2880
  size: { initial: "4", md: "5" },
@@ -2860,21 +2883,21 @@ function Section3({
2860
2883
  children: title
2861
2884
  }
2862
2885
  ),
2863
- 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
2886
+ 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
2864
2887
  ] }),
2865
2888
  children
2866
2889
  ] });
2867
2890
  }
2868
2891
  function CoachingPanel({ skills }) {
2869
2892
  if (skills.length === 0) return null;
2870
- 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)(
2893
+ 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)(
2871
2894
  Card,
2872
2895
  {
2873
2896
  style: { padding: "var(--space-3)" },
2874
2897
  variant: "surface",
2875
2898
  children: [
2876
- /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(import_themes23.Flex, { align: "center", gap: "2", children: [
2877
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
2899
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(import_themes23.Flex, { align: "center", gap: "2", children: [
2900
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
2878
2901
  import_themes23.Flex,
2879
2902
  {
2880
2903
  align: "center",
@@ -2886,7 +2909,7 @@ function CoachingPanel({ skills }) {
2886
2909
  background: "var(--accent-9)",
2887
2910
  flexShrink: 0
2888
2911
  },
2889
- children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
2912
+ children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
2890
2913
  Typo,
2891
2914
  {
2892
2915
  as: "span",
@@ -2899,10 +2922,10 @@ function CoachingPanel({ skills }) {
2899
2922
  )
2900
2923
  }
2901
2924
  ),
2902
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Typo, { as: "span", variant: "body", weight: "medium", children: skill.title })
2925
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(Typo, { as: "span", variant: "body", weight: "medium", children: skill.title })
2903
2926
  ] }),
2904
- /* @__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 }) }),
2905
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
2927
+ /* @__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 }) }),
2928
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
2906
2929
  import_themes7.Box,
2907
2930
  {
2908
2931
  mt: "2",
@@ -2911,7 +2934,7 @@ function CoachingPanel({ skills }) {
2911
2934
  borderRadius: "var(--radius-2)",
2912
2935
  background: "var(--accent-a2)"
2913
2936
  },
2914
- children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Typo, { as: "p", style: { color: "var(--accent-11)" }, variant: "body", children: skill.example })
2937
+ children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(Typo, { as: "p", style: { color: "var(--accent-11)" }, variant: "body", children: skill.example })
2915
2938
  }
2916
2939
  )
2917
2940
  ]
@@ -2921,14 +2944,14 @@ function CoachingPanel({ skills }) {
2921
2944
  }
2922
2945
 
2923
2946
  // src/app/roleplay/parts/speech-share-bar.tsx
2924
- var import_jsx_runtime63 = require("react/jsx-runtime");
2947
+ var import_jsx_runtime64 = require("react/jsx-runtime");
2925
2948
  function SpeechShareBar({
2926
2949
  share
2927
2950
  }) {
2928
2951
  const isOvertalking = share.userPct > SPEECH_OVERTALK_THRESHOLD;
2929
- return /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(import_themes7.Box, { children: [
2930
- /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(import_themes23.Flex, { align: "center", justify: "between", mb: "1", children: [
2931
- /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(
2952
+ return /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(import_themes7.Box, { children: [
2953
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(import_themes23.Flex, { align: "center", justify: "between", mb: "1", children: [
2954
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(
2932
2955
  Typo,
2933
2956
  {
2934
2957
  as: "span",
@@ -2944,13 +2967,13 @@ function SpeechShareBar({
2944
2967
  ]
2945
2968
  }
2946
2969
  ),
2947
- /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(Typo, { as: "span", color: "gray", variant: "caption", children: [
2970
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(Typo, { as: "span", color: "gray", variant: "caption", children: [
2948
2971
  "\uC0C1\uB300 ",
2949
2972
  share.partnerPct,
2950
2973
  "%"
2951
2974
  ] })
2952
2975
  ] }),
2953
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
2976
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
2954
2977
  import_themes23.Flex,
2955
2978
  {
2956
2979
  style: {
@@ -2959,7 +2982,7 @@ function SpeechShareBar({
2959
2982
  overflow: "hidden",
2960
2983
  background: "var(--gray-4)"
2961
2984
  },
2962
- children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
2985
+ children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
2963
2986
  import_themes7.Box,
2964
2987
  {
2965
2988
  style: {
@@ -2970,12 +2993,12 @@ function SpeechShareBar({
2970
2993
  )
2971
2994
  }
2972
2995
  ),
2973
- 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
2996
+ 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
2974
2997
  ] });
2975
2998
  }
2976
2999
 
2977
3000
  // src/app/roleplay/parts/score-summary.tsx
2978
- var import_jsx_runtime64 = require("react/jsx-runtime");
3001
+ var import_jsx_runtime65 = require("react/jsx-runtime");
2979
3002
  function ScoreSummary({
2980
3003
  detail,
2981
3004
  report,
@@ -2984,18 +3007,18 @@ function ScoreSummary({
2984
3007
  var _a;
2985
3008
  const scoreValue = (_a = detail.totalScore) != null ? _a : report.totalScore;
2986
3009
  const comment = report.comment;
2987
- return /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(
3010
+ return /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(
2988
3011
  import_themes24.Grid,
2989
3012
  {
2990
3013
  align: "start",
2991
3014
  columns: comment ? { initial: "1", md: "minmax(0, 240px) 1fr" } : "1",
2992
3015
  gap: "5",
2993
3016
  children: [
2994
- /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(Card, { variant: "surface", children: [
2995
- /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(import_themes23.Flex, { align: "center", direction: "column", gap: "2", py: "3", children: [
2996
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(Typo, { as: "p", color: "gray", variant: "body", weight: "medium", children: "\uC885\uD569 \uC810\uC218" }),
2997
- /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(import_themes23.Flex, { align: "baseline", gap: "1", children: [
2998
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
3017
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(Card, { variant: "surface", children: [
3018
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(import_themes23.Flex, { align: "center", direction: "column", gap: "2", py: "3", children: [
3019
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(Typo, { as: "p", color: "gray", variant: "body", weight: "medium", children: "\uC885\uD569 \uC810\uC218" }),
3020
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(import_themes23.Flex, { align: "baseline", gap: "1", children: [
3021
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
2999
3022
  Typo,
3000
3023
  {
3001
3024
  as: "span",
@@ -3009,18 +3032,18 @@ function ScoreSummary({
3009
3032
  children: scoreValue != null ? scoreValue : "\u2014"
3010
3033
  }
3011
3034
  ),
3012
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(Typo, { as: "span", color: "gray", mono: true, variant: "subtitle", children: "/100" })
3035
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(Typo, { as: "span", color: "gray", mono: true, variant: "subtitle", children: "/100" })
3013
3036
  ] })
3014
3037
  ] }),
3015
- speechShare ? /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(import_jsx_runtime64.Fragment, { children: [
3016
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_themes40.Separator, { my: "3", size: "4" }),
3017
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(SpeechShareBar, { share: speechShare })
3038
+ speechShare ? /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(import_jsx_runtime65.Fragment, { children: [
3039
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_themes40.Separator, { my: "3", size: "4" }),
3040
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(SpeechShareBar, { share: speechShare })
3018
3041
  ] }) : null
3019
3042
  ] }),
3020
- comment ? /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(import_themes23.Flex, { direction: "column", gap: "3", children: [
3021
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(Typo, { as: "p", variant: "body", weight: "medium", children: "\uC885\uD569 \uBD84\uC11D" }),
3022
- /* @__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 }) }),
3023
- report.deduction ? /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(
3043
+ comment ? /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(import_themes23.Flex, { direction: "column", gap: "3", children: [
3044
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(Typo, { as: "p", variant: "body", weight: "medium", children: "\uC885\uD569 \uBD84\uC11D" }),
3045
+ /* @__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 }) }),
3046
+ report.deduction ? /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(
3024
3047
  import_themes7.Box,
3025
3048
  {
3026
3049
  pl: "3",
@@ -3032,7 +3055,7 @@ function ScoreSummary({
3032
3055
  borderRadius: "var(--radius-2)"
3033
3056
  },
3034
3057
  children: [
3035
- /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(
3058
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(
3036
3059
  Typo,
3037
3060
  {
3038
3061
  as: "p",
@@ -3047,7 +3070,7 @@ function ScoreSummary({
3047
3070
  ]
3048
3071
  }
3049
3072
  ),
3050
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_themes7.Box, { mt: "1", style: { maxWidth: "65ch" }, children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
3073
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_themes7.Box, { mt: "1", style: { maxWidth: "65ch" }, children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
3051
3074
  Typo,
3052
3075
  {
3053
3076
  as: "p",
@@ -3074,10 +3097,58 @@ var import_react_table2 = require("@tanstack/react-table");
3074
3097
  var import_react42 = require("react");
3075
3098
  var import_themes53 = require("@radix-ui/themes");
3076
3099
 
3100
+ // src/molecules/empty-state.tsx
3101
+ var import_jsx_runtime66 = require("react/jsx-runtime");
3102
+ var ICON_SIZE = {
3103
+ illustration: 120,
3104
+ compact: 56
3105
+ };
3106
+ function EmptyState(_a) {
3107
+ var _b = _a, {
3108
+ size = "illustration",
3109
+ heading,
3110
+ body,
3111
+ icon
3112
+ } = _b, flexProps = __objRest(_b, [
3113
+ "size",
3114
+ "heading",
3115
+ "body",
3116
+ "icon"
3117
+ ]);
3118
+ const isCompact = size === "compact";
3119
+ const iconSize = ICON_SIZE[size];
3120
+ return /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(
3121
+ import_themes23.Flex,
3122
+ __spreadProps(__spreadValues({
3123
+ align: "center",
3124
+ direction: "column",
3125
+ gap: isCompact ? "2" : "3",
3126
+ justify: "center",
3127
+ py: isCompact ? "5" : "9",
3128
+ width: "100%"
3129
+ }, flexProps), {
3130
+ children: [
3131
+ icon != null ? icon : /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
3132
+ EmptyBoxIcon,
3133
+ {
3134
+ color: "var(--gray-8)",
3135
+ height: iconSize,
3136
+ width: iconSize
3137
+ }
3138
+ ),
3139
+ heading || body ? /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(import_themes23.Flex, { align: "center", direction: "column", gap: "1", children: [
3140
+ 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,
3141
+ body ? /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(Typo, { color: "gray", variant: isCompact ? "caption" : "body", children: body }) : null
3142
+ ] }) : null
3143
+ ]
3144
+ })
3145
+ );
3146
+ }
3147
+
3077
3148
  // src/molecules/expand-table/row.tsx
3078
3149
  var import_react_table = require("@tanstack/react-table");
3079
3150
  var import_react41 = require("react");
3080
- var import_jsx_runtime65 = require("react/jsx-runtime");
3151
+ var import_jsx_runtime67 = require("react/jsx-runtime");
3081
3152
  function Row(props) {
3082
3153
  const { row, ExpandComp, gridTemplateColumns, getRowStyle, getCellStyle } = props;
3083
3154
  const [open, setOpen] = (0, import_react41.useState)(false);
@@ -3096,8 +3167,8 @@ function Row(props) {
3096
3167
  }
3097
3168
  return baseCls.join(" ");
3098
3169
  }, [ExpandComp, props.onRowClick]);
3099
- return /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: rowClassName, children: [
3100
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
3170
+ return /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)("div", { className: rowClassName, children: [
3171
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
3101
3172
  "button",
3102
3173
  {
3103
3174
  className: "tr",
@@ -3110,7 +3181,7 @@ function Row(props) {
3110
3181
  var _a, _b, _c;
3111
3182
  const autoSize = (_a = cell.column.columnDef.meta) == null ? void 0 : _a.autoSize;
3112
3183
  const justifyContent = ((_b = cell.column.columnDef.meta) == null ? void 0 : _b.align) || props.defaultAlign;
3113
- return /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(
3184
+ return /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(
3114
3185
  "div",
3115
3186
  {
3116
3187
  className: "td",
@@ -3121,7 +3192,7 @@ function Row(props) {
3121
3192
  }, (getCellStyle == null ? void 0 : getCellStyle(row.original)) || {}),
3122
3193
  children: [
3123
3194
  (0, import_react_table.flexRender)(cell.column.columnDef.cell, cell.getContext()),
3124
- ((_c = cell.column.columnDef.meta) == null ? void 0 : _c.OpenBtn) ? /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
3195
+ ((_c = cell.column.columnDef.meta) == null ? void 0 : _c.OpenBtn) ? /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
3125
3196
  cell.column.columnDef.meta.OpenBtn,
3126
3197
  {
3127
3198
  data: row.original,
@@ -3137,12 +3208,12 @@ function Row(props) {
3137
3208
  },
3138
3209
  `tr_${row.id}`
3139
3210
  ),
3140
- 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
3211
+ 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
3141
3212
  ] }, `tr-wrapper_${row.id}`);
3142
3213
  }
3143
3214
 
3144
3215
  // src/molecules/expand-table/index.tsx
3145
- var import_jsx_runtime66 = require("react/jsx-runtime");
3216
+ var import_jsx_runtime68 = require("react/jsx-runtime");
3146
3217
  var sortButtonColorMapper = {
3147
3218
  card: {
3148
3219
  selected: "var(--iris-10)",
@@ -3223,7 +3294,7 @@ function ExpandTable(props) {
3223
3294
  const helpCompRender = (0, import_react42.useCallback)(
3224
3295
  (rowLength) => {
3225
3296
  if (isLoading) {
3226
- return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
3297
+ return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
3227
3298
  import_themes23.Flex,
3228
3299
  {
3229
3300
  align: "center",
@@ -3231,12 +3302,12 @@ function ExpandTable(props) {
3231
3302
  justify: "center",
3232
3303
  p: "5",
3233
3304
  width: "100%",
3234
- children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_themes50.Spinner, {})
3305
+ children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(import_themes50.Spinner, {})
3235
3306
  }
3236
3307
  );
3237
3308
  }
3238
3309
  if (rowLength === 0) {
3239
- 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");
3310
+ 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");
3240
3311
  }
3241
3312
  return null;
3242
3313
  },
@@ -3246,9 +3317,9 @@ function ExpandTable(props) {
3246
3317
  if (!data) return 0;
3247
3318
  return Math.ceil(data.length / pageSize);
3248
3319
  }, [data, pageSize]);
3249
- return /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: `expand-table-wrapper ${variant}${slim ? " slim" : ""}`, children: [
3250
- /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "expand-table", style: tableStyle, children: [
3251
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("div", { className: "thead", children: getHeaderGroups().map((headerGroup) => /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
3320
+ return /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)("div", { className: `expand-table-wrapper ${variant}${slim ? " slim" : ""}`, children: [
3321
+ /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)("div", { className: "expand-table", style: tableStyle, children: [
3322
+ /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("div", { className: "thead", children: getHeaderGroups().map((headerGroup) => /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
3252
3323
  "div",
3253
3324
  {
3254
3325
  className: "tr",
@@ -3259,36 +3330,36 @@ function ExpandTable(props) {
3259
3330
  const sortedState = header.column.getIsSorted();
3260
3331
  const justifyContent = ((_a = header.column.columnDef.meta) == null ? void 0 : _a.align) || defaultAlign;
3261
3332
  if (sortable) {
3262
- return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("div", { className: `${justifyContent} th`, children: /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(
3333
+ return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("div", { className: `${justifyContent} th`, children: /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)(
3263
3334
  "button",
3264
3335
  {
3265
3336
  onClick: header.column.getToggleSortingHandler(),
3266
3337
  style: { cursor: "pointer" },
3267
3338
  type: "button",
3268
3339
  children: [
3269
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(Typo, { as: "div", variant: "body", children: (0, import_react_table2.flexRender)(
3340
+ /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(Typo, { as: "div", variant: "body", children: (0, import_react_table2.flexRender)(
3270
3341
  header.column.columnDef.header,
3271
3342
  header.getContext()
3272
3343
  ) }),
3273
- /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(
3344
+ /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)(
3274
3345
  import_themes23.Flex,
3275
3346
  {
3276
3347
  direction: "column",
3277
3348
  style: { marginLeft: "var(--space-2)" },
3278
3349
  children: [
3279
- sortedState === false && /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
3350
+ sortedState === false && /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
3280
3351
  TriangleArrowDownIcon,
3281
3352
  {
3282
3353
  color: sortButtonColorMapper[variant].unselected
3283
3354
  }
3284
3355
  ),
3285
- sortedState === "asc" && /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
3356
+ sortedState === "asc" && /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
3286
3357
  TriangleArrowUpIcon,
3287
3358
  {
3288
3359
  color: sortButtonColorMapper[variant].selected
3289
3360
  }
3290
3361
  ),
3291
- sortedState === "desc" && /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
3362
+ sortedState === "desc" && /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
3292
3363
  TriangleArrowDownIcon,
3293
3364
  {
3294
3365
  color: sortButtonColorMapper[variant].selected
@@ -3301,7 +3372,7 @@ function ExpandTable(props) {
3301
3372
  }
3302
3373
  ) }, header.id);
3303
3374
  }
3304
- 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)(
3375
+ 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)(
3305
3376
  header.column.columnDef.header,
3306
3377
  header.getContext()
3307
3378
  ) }) }, header.id);
@@ -3309,8 +3380,8 @@ function ExpandTable(props) {
3309
3380
  },
3310
3381
  headerGroup.id
3311
3382
  )) }),
3312
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_themes53.ScrollArea, { className: "tbody", children: helpCompRender(rowModels.rows.length) || rowModels.rows.map((row) => {
3313
- return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
3383
+ /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(import_themes53.ScrollArea, { className: "tbody", children: helpCompRender(rowModels.rows.length) || rowModels.rows.map((row) => {
3384
+ return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
3314
3385
  Row,
3315
3386
  {
3316
3387
  ExpandComp,
@@ -3325,7 +3396,7 @@ function ExpandTable(props) {
3325
3396
  );
3326
3397
  }) })
3327
3398
  ] }),
3328
- showPagination ? /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_themes23.Flex, { justify: "end", pt: "4", width: "100%", children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
3399
+ showPagination ? /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(import_themes23.Flex, { justify: "end", pt: "4", width: "100%", children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
3329
3400
  Pagination,
3330
3401
  {
3331
3402
  count: pageCount,
@@ -3338,13 +3409,13 @@ function ExpandTable(props) {
3338
3409
  }
3339
3410
 
3340
3411
  // src/molecules/navigation.tsx
3341
- var import_jsx_runtime67 = require("react/jsx-runtime");
3412
+ var import_jsx_runtime69 = require("react/jsx-runtime");
3342
3413
 
3343
3414
  // src/molecules/date-picker/index.tsx
3344
3415
  var import_react43 = require("react");
3345
3416
  var import_react_datepicker = __toESM(require("react-datepicker"), 1);
3346
3417
  var import_locale = require("date-fns/locale");
3347
- var import_jsx_runtime68 = require("react/jsx-runtime");
3418
+ var import_jsx_runtime70 = require("react/jsx-runtime");
3348
3419
  var DatePicker = (0, import_react43.forwardRef)(
3349
3420
  (props, ref) => {
3350
3421
  const _a = props, { fullWidth } = _a, rest = __objRest(_a, ["fullWidth"]);
@@ -3375,7 +3446,7 @@ var DatePicker = (0, import_react43.forwardRef)(
3375
3446
  setIsMonthDropdownOpen
3376
3447
  }));
3377
3448
  }, [isMonthDropdownOpen, isYearDropdownOpen, props]);
3378
- return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(import_themes23.Flex, { p: "0", width: "100%", children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
3449
+ return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_themes23.Flex, { p: "0", width: "100%", children: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
3379
3450
  import_react_datepicker.default,
3380
3451
  __spreadProps(__spreadValues({
3381
3452
  dateFormat: "yyyy/MM/dd h:mm aa",
@@ -3423,19 +3494,19 @@ function DropdownSelector({
3423
3494
  });
3424
3495
  }
3425
3496
  }, [isOpen]);
3426
- return /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)(Popover.Root, { modal: true, onOpenChange, open: isOpen, children: [
3427
- /* @__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: [
3497
+ return /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)(Popover.Root, { modal: true, onOpenChange, open: isOpen, children: [
3498
+ /* @__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: [
3428
3499
  selectedValue,
3429
3500
  suffix
3430
3501
  ] }) }) }),
3431
- /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(Popover.Content, { side: "bottom", children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
3502
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(Popover.Content, { side: "bottom", children: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
3432
3503
  import_themes7.Box,
3433
3504
  {
3434
3505
  maxHeight: "200px",
3435
3506
  overflowY: "auto",
3436
3507
  ref: scrollContainerRef,
3437
3508
  style: { scrollbarWidth: "none" },
3438
- children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(import_themes23.Flex, { direction: "column", gap: "1", children: options.map((item) => /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
3509
+ children: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_themes23.Flex, { direction: "column", gap: "1", children: options.map((item) => /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
3439
3510
  Button,
3440
3511
  {
3441
3512
  className: "react-datepicker_dropdown_item",
@@ -3449,7 +3520,7 @@ function DropdownSelector({
3449
3520
  e.preventDefault();
3450
3521
  },
3451
3522
  variant: "transparent",
3452
- children: /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)(Typo, { weight: item === selectedValue ? "bold" : void 0, children: [
3523
+ children: /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)(Typo, { weight: item === selectedValue ? "bold" : void 0, children: [
3453
3524
  item,
3454
3525
  suffix
3455
3526
  ] })
@@ -3480,8 +3551,8 @@ var getRenderCustomHeader = (props) => {
3480
3551
  } = props;
3481
3552
  const year = date ? new Date(date).getFullYear() : "-";
3482
3553
  const month = date ? new Date(date).getMonth() + 1 : "-";
3483
- return /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)(import_themes23.Flex, { align: "center", justify: "between", pl: "2", pr: "2", children: [
3484
- /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
3554
+ return /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)(import_themes23.Flex, { align: "center", justify: "between", pl: "2", pr: "2", children: [
3555
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
3485
3556
  IconButton,
3486
3557
  {
3487
3558
  className: "react-datepicker_dropdown_header",
@@ -3489,11 +3560,11 @@ var getRenderCustomHeader = (props) => {
3489
3560
  onClick: decreaseMonth,
3490
3561
  type: "button",
3491
3562
  variant: "ghost",
3492
- children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(import_react_icons2.ChevronLeftIcon, {})
3563
+ children: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_react_icons2.ChevronLeftIcon, {})
3493
3564
  }
3494
3565
  ),
3495
- /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)(import_themes23.Flex, { gap: "3", children: [
3496
- /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
3566
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)(import_themes23.Flex, { gap: "3", children: [
3567
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
3497
3568
  DropdownSelector,
3498
3569
  {
3499
3570
  isOpen: isYearDropdownOpen,
@@ -3507,7 +3578,7 @@ var getRenderCustomHeader = (props) => {
3507
3578
  suffix: "\uB144"
3508
3579
  }
3509
3580
  ),
3510
- /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
3581
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
3511
3582
  DropdownSelector,
3512
3583
  {
3513
3584
  isOpen: isMonthDropdownOpen,
@@ -3522,7 +3593,7 @@ var getRenderCustomHeader = (props) => {
3522
3593
  }
3523
3594
  )
3524
3595
  ] }),
3525
- /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
3596
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
3526
3597
  IconButton,
3527
3598
  {
3528
3599
  className: "react-datepicker_dropdown_header",
@@ -3530,7 +3601,7 @@ var getRenderCustomHeader = (props) => {
3530
3601
  onClick: increaseMonth,
3531
3602
  type: "button",
3532
3603
  variant: "ghost",
3533
- children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(import_react_icons2.ChevronRightIcon, {})
3604
+ children: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_react_icons2.ChevronRightIcon, {})
3534
3605
  }
3535
3606
  )
3536
3607
  ] });
@@ -3541,12 +3612,12 @@ var getRenderCustomHeader = (props) => {
3541
3612
  // src/molecules/dot-navigation.tsx
3542
3613
  var import_react44 = require("react");
3543
3614
  var import_react_icons3 = require("@radix-ui/react-icons");
3544
- var import_jsx_runtime69 = require("react/jsx-runtime");
3615
+ var import_jsx_runtime71 = require("react/jsx-runtime");
3545
3616
 
3546
3617
  // src/molecules/stepper.tsx
3547
3618
  var import_react45 = require("react");
3548
3619
  var import_themes54 = require("@radix-ui/themes");
3549
- var import_jsx_runtime70 = require("react/jsx-runtime");
3620
+ var import_jsx_runtime72 = require("react/jsx-runtime");
3550
3621
  var StepContext = (0, import_react45.createContext)({
3551
3622
  active: false,
3552
3623
  completed: false,
@@ -3556,20 +3627,20 @@ var StepContext = (0, import_react45.createContext)({
3556
3627
  // src/molecules/tag-selector.tsx
3557
3628
  var import_react46 = require("react");
3558
3629
  var import_react_icons4 = require("@radix-ui/react-icons");
3559
- var import_jsx_runtime71 = require("react/jsx-runtime");
3630
+ var import_jsx_runtime73 = require("react/jsx-runtime");
3560
3631
 
3561
3632
  // src/molecules/learning-post.tsx
3562
- var import_jsx_runtime72 = require("react/jsx-runtime");
3633
+ var import_jsx_runtime74 = require("react/jsx-runtime");
3563
3634
 
3564
3635
  // src/molecules/force-refresh.tsx
3565
3636
  var import_react_icons5 = require("@radix-ui/react-icons");
3566
- var import_jsx_runtime73 = require("react/jsx-runtime");
3637
+ var import_jsx_runtime75 = require("react/jsx-runtime");
3567
3638
 
3568
3639
  // src/molecules/date-picker/date-picker-button.tsx
3569
3640
  var import_react47 = require("react");
3570
3641
  var import_date_fns2 = require("date-fns");
3571
3642
  var import_clsx29 = require("clsx");
3572
- var import_jsx_runtime74 = require("react/jsx-runtime");
3643
+ var import_jsx_runtime76 = require("react/jsx-runtime");
3573
3644
 
3574
3645
  // src/molecules/time-select.tsx
3575
3646
  var import_react48 = require("react");
@@ -3596,34 +3667,34 @@ for (const opt of AI_CALLOUT_ICON_OPTIONS) {
3596
3667
  }
3597
3668
 
3598
3669
  // src/molecules/time-select.tsx
3599
- var import_jsx_runtime75 = require("react/jsx-runtime");
3670
+ var import_jsx_runtime77 = require("react/jsx-runtime");
3600
3671
 
3601
3672
  // src/molecules/radio-button-card.tsx
3602
3673
  var import_react49 = require("react");
3603
- var import_jsx_runtime76 = require("react/jsx-runtime");
3674
+ var import_jsx_runtime78 = require("react/jsx-runtime");
3604
3675
  var RadioCardContext = (0, import_react49.createContext)({});
3605
3676
 
3606
3677
  // src/molecules/download-card.tsx
3607
3678
  var import_react_icons6 = require("@radix-ui/react-icons");
3608
- var import_jsx_runtime77 = require("react/jsx-runtime");
3679
+ var import_jsx_runtime79 = require("react/jsx-runtime");
3609
3680
 
3610
3681
  // src/molecules/ghost-post.tsx
3611
- var import_jsx_runtime78 = require("react/jsx-runtime");
3682
+ var import_jsx_runtime80 = require("react/jsx-runtime");
3612
3683
 
3613
3684
  // src/molecules/curriculumV2/curriculum-context.tsx
3614
3685
  var import_react50 = require("react");
3615
- var import_jsx_runtime79 = require("react/jsx-runtime");
3686
+ var import_jsx_runtime81 = require("react/jsx-runtime");
3616
3687
  var CurriculumContext = (0, import_react50.createContext)(
3617
3688
  void 0
3618
3689
  );
3619
3690
 
3620
3691
  // src/molecules/curriculumV2/curriculum-sub-nav.tsx
3621
3692
  var import_react51 = require("react");
3622
- var import_jsx_runtime80 = require("react/jsx-runtime");
3693
+ var import_jsx_runtime82 = require("react/jsx-runtime");
3623
3694
 
3624
3695
  // src/molecules/curriculumV2/CurriculumContents/curriculum-video.tsx
3625
3696
  var import_react52 = require("react");
3626
- var import_jsx_runtime81 = require("react/jsx-runtime");
3697
+ var import_jsx_runtime83 = require("react/jsx-runtime");
3627
3698
 
3628
3699
  // src/molecules/curriculumV2/CurriculumContents/curriculum-review.tsx
3629
3700
  var import_react55 = require("react");
@@ -3634,88 +3705,88 @@ var import_react53 = require("react");
3634
3705
  var import_formik = require("formik");
3635
3706
  var import_lodash_es = require("lodash-es");
3636
3707
  var Yup = __toESM(require("yup"), 1);
3637
- var import_jsx_runtime82 = require("react/jsx-runtime");
3708
+ var import_jsx_runtime84 = require("react/jsx-runtime");
3638
3709
  var CurriculumReviewContext = (0, import_react53.createContext)(void 0);
3639
3710
 
3640
3711
  // src/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/start-review.tsx
3641
- var import_jsx_runtime83 = require("react/jsx-runtime");
3712
+ var import_jsx_runtime85 = require("react/jsx-runtime");
3642
3713
 
3643
3714
  // src/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/complete-review.tsx
3644
- var import_jsx_runtime84 = require("react/jsx-runtime");
3715
+ var import_jsx_runtime86 = require("react/jsx-runtime");
3645
3716
 
3646
3717
  // src/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-layout.tsx
3647
- var import_jsx_runtime85 = require("react/jsx-runtime");
3718
+ var import_jsx_runtime87 = require("react/jsx-runtime");
3648
3719
 
3649
3720
  // src/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-header.tsx
3650
- var import_jsx_runtime86 = require("react/jsx-runtime");
3721
+ var import_jsx_runtime88 = require("react/jsx-runtime");
3651
3722
 
3652
3723
  // src/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-footer.tsx
3653
- var import_jsx_runtime87 = require("react/jsx-runtime");
3724
+ var import_jsx_runtime89 = require("react/jsx-runtime");
3654
3725
 
3655
3726
  // src/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-radio.tsx
3656
3727
  var import_react54 = require("react");
3657
3728
 
3658
3729
  // src/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-comp.tsx
3659
- var import_jsx_runtime88 = require("react/jsx-runtime");
3730
+ var import_jsx_runtime90 = require("react/jsx-runtime");
3660
3731
 
3661
3732
  // src/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-radio.tsx
3662
- var import_jsx_runtime89 = require("react/jsx-runtime");
3733
+ var import_jsx_runtime91 = require("react/jsx-runtime");
3663
3734
 
3664
3735
  // src/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-text.tsx
3665
- var import_jsx_runtime90 = require("react/jsx-runtime");
3736
+ var import_jsx_runtime92 = require("react/jsx-runtime");
3666
3737
 
3667
3738
  // src/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-satisfaction-option.tsx
3668
- var import_jsx_runtime91 = require("react/jsx-runtime");
3739
+ var import_jsx_runtime93 = require("react/jsx-runtime");
3669
3740
 
3670
3741
  // src/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-satisfaction-text.tsx
3671
- var import_jsx_runtime92 = require("react/jsx-runtime");
3742
+ var import_jsx_runtime94 = require("react/jsx-runtime");
3672
3743
 
3673
3744
  // src/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-body.tsx
3674
- var import_jsx_runtime93 = require("react/jsx-runtime");
3745
+ var import_jsx_runtime95 = require("react/jsx-runtime");
3675
3746
 
3676
3747
  // src/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/index.tsx
3677
- var import_jsx_runtime94 = require("react/jsx-runtime");
3748
+ var import_jsx_runtime96 = require("react/jsx-runtime");
3678
3749
 
3679
3750
  // src/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/index.tsx
3680
- var import_jsx_runtime95 = require("react/jsx-runtime");
3751
+ var import_jsx_runtime97 = require("react/jsx-runtime");
3681
3752
 
3682
3753
  // src/molecules/curriculumV2/CurriculumContents/curriculum-review.tsx
3683
- var import_jsx_runtime96 = require("react/jsx-runtime");
3754
+ var import_jsx_runtime98 = require("react/jsx-runtime");
3684
3755
 
3685
3756
  // src/molecules/curriculumV2/CurriculumContents/curriculum-ai-traning.tsx
3686
3757
  var import_react56 = require("react");
3687
- var import_jsx_runtime97 = require("react/jsx-runtime");
3758
+ var import_jsx_runtime99 = require("react/jsx-runtime");
3688
3759
 
3689
3760
  // src/molecules/curriculumV2/CurriculumContents/curriculum-file-download.tsx
3690
3761
  var import_react57 = require("react");
3691
- var import_jsx_runtime98 = require("react/jsx-runtime");
3762
+ var import_jsx_runtime100 = require("react/jsx-runtime");
3692
3763
 
3693
3764
  // src/molecules/curriculumV2/CurriculumContents/index.tsx
3694
- var import_jsx_runtime99 = require("react/jsx-runtime");
3765
+ var import_jsx_runtime101 = require("react/jsx-runtime");
3695
3766
 
3696
3767
  // src/molecules/curriculumV2/CurriculumSidebar/index.tsx
3697
3768
  var import_react58 = require("react");
3698
3769
 
3699
3770
  // src/molecules/curriculumV2/CurriculumSidebar/Items/section-title.tsx
3700
- var import_jsx_runtime100 = require("react/jsx-runtime");
3771
+ var import_jsx_runtime102 = require("react/jsx-runtime");
3701
3772
 
3702
3773
  // src/molecules/curriculumV2/CurriculumSidebar/Items/curriculum-sidebar-item-wrapper.tsx
3703
- var import_jsx_runtime101 = require("react/jsx-runtime");
3774
+ var import_jsx_runtime103 = require("react/jsx-runtime");
3704
3775
 
3705
3776
  // src/molecules/curriculumV2/CurriculumSidebar/Items/curriculum-item-title.tsx
3706
- var import_jsx_runtime102 = require("react/jsx-runtime");
3777
+ var import_jsx_runtime104 = require("react/jsx-runtime");
3707
3778
 
3708
3779
  // src/molecules/curriculumV2/CurriculumSidebar/Items/section-item.tsx
3709
- var import_jsx_runtime103 = require("react/jsx-runtime");
3780
+ var import_jsx_runtime105 = require("react/jsx-runtime");
3710
3781
 
3711
3782
  // src/molecules/curriculumV2/CurriculumSidebar/sidebar-item.tsx
3712
- var import_jsx_runtime104 = require("react/jsx-runtime");
3783
+ var import_jsx_runtime106 = require("react/jsx-runtime");
3713
3784
 
3714
3785
  // src/molecules/curriculumV2/CurriculumSidebar/index.tsx
3715
- var import_jsx_runtime105 = require("react/jsx-runtime");
3786
+ var import_jsx_runtime107 = require("react/jsx-runtime");
3716
3787
 
3717
3788
  // src/molecules/curriculumV2/curriculum-v2-layout.tsx
3718
- var import_jsx_runtime106 = require("react/jsx-runtime");
3789
+ var import_jsx_runtime108 = require("react/jsx-runtime");
3719
3790
 
3720
3791
  // src/molecules/dynamic-form.tsx
3721
3792
  var import_react60 = require("react");
@@ -3725,26 +3796,26 @@ var import_themes55 = require("@radix-ui/themes");
3725
3796
 
3726
3797
  // src/context/dynamic-form-context.tsx
3727
3798
  var import_react59 = require("react");
3728
- var import_jsx_runtime107 = require("react/jsx-runtime");
3799
+ var import_jsx_runtime109 = require("react/jsx-runtime");
3729
3800
  var DynamicFormContext = (0, import_react59.createContext)(null);
3730
3801
 
3731
3802
  // src/molecules/dynamic-field.tsx
3732
- var import_jsx_runtime108 = require("react/jsx-runtime");
3803
+ var import_jsx_runtime110 = require("react/jsx-runtime");
3733
3804
 
3734
3805
  // src/molecules/dynamic-form.tsx
3735
- var import_jsx_runtime109 = require("react/jsx-runtime");
3806
+ var import_jsx_runtime111 = require("react/jsx-runtime");
3736
3807
 
3737
3808
  // src/molecules/one-on-one-guide-list.tsx
3738
3809
  var import_react61 = require("react");
3739
- var import_jsx_runtime110 = require("react/jsx-runtime");
3810
+ var import_jsx_runtime112 = require("react/jsx-runtime");
3740
3811
 
3741
3812
  // src/molecules/description-json-render.tsx
3742
- var import_jsx_runtime111 = require("react/jsx-runtime");
3813
+ var import_jsx_runtime113 = require("react/jsx-runtime");
3743
3814
 
3744
3815
  // src/molecules/training-info-guideline.tsx
3745
3816
  var import_react62 = require("react");
3746
3817
  var import_react_icons8 = require("@radix-ui/react-icons");
3747
- var import_jsx_runtime112 = require("react/jsx-runtime");
3818
+ var import_jsx_runtime114 = require("react/jsx-runtime");
3748
3819
 
3749
3820
  // src/molecules/dynamic-form-editor.tsx
3750
3821
  var import_react65 = require("react");
@@ -3752,26 +3823,26 @@ var import_react65 = require("react");
3752
3823
  // src/molecules/dynamic-form-editor-field-editor-panel.tsx
3753
3824
  var import_react63 = require("react");
3754
3825
  var import_themes56 = require("@radix-ui/themes");
3755
- var import_jsx_runtime113 = require("react/jsx-runtime");
3826
+ var import_jsx_runtime115 = require("react/jsx-runtime");
3756
3827
 
3757
3828
  // src/molecules/dynamic-form-editor-field-list-panel.tsx
3758
3829
  var import_react64 = require("react");
3759
3830
  var import_themes57 = require("@radix-ui/themes");
3760
- var import_jsx_runtime114 = require("react/jsx-runtime");
3831
+ var import_jsx_runtime116 = require("react/jsx-runtime");
3761
3832
 
3762
3833
  // src/molecules/dynamic-form-editor-issues-panel.tsx
3763
- var import_jsx_runtime115 = require("react/jsx-runtime");
3834
+ var import_jsx_runtime117 = require("react/jsx-runtime");
3764
3835
 
3765
3836
  // src/molecules/dynamic-form-editor-preview-panel.tsx
3766
- var import_jsx_runtime116 = require("react/jsx-runtime");
3837
+ var import_jsx_runtime118 = require("react/jsx-runtime");
3767
3838
 
3768
3839
  // src/molecules/dynamic-form-editor.tsx
3769
- var import_jsx_runtime117 = require("react/jsx-runtime");
3840
+ var import_jsx_runtime119 = require("react/jsx-runtime");
3770
3841
 
3771
3842
  // src/molecules/autocomplete-textfield.tsx
3772
3843
  var import_react66 = require("react");
3773
3844
  var import_themes58 = require("@radix-ui/themes");
3774
- var import_jsx_runtime118 = require("react/jsx-runtime");
3845
+ var import_jsx_runtime120 = require("react/jsx-runtime");
3775
3846
  var AutocompleteTextfield = (0, import_react66.forwardRef)(
3776
3847
  (_a, ref) => {
3777
3848
  var _b = _a, {
@@ -3897,8 +3968,8 @@ var AutocompleteTextfield = (0, import_react66.forwardRef)(
3897
3968
  const item = listRef.current.children[highlightedIndex];
3898
3969
  item.scrollIntoView({ block: "nearest" });
3899
3970
  }, [highlightedIndex]);
3900
- return /* @__PURE__ */ (0, import_jsx_runtime118.jsxs)(import_themes58.Box, { position: "relative", style: { width: "100%" }, children: [
3901
- /* @__PURE__ */ (0, import_jsx_runtime118.jsxs)(
3971
+ return /* @__PURE__ */ (0, import_jsx_runtime120.jsxs)(import_themes58.Box, { position: "relative", style: { width: "100%" }, children: [
3972
+ /* @__PURE__ */ (0, import_jsx_runtime120.jsxs)(
3902
3973
  TextField.Root,
3903
3974
  __spreadProps(__spreadValues({
3904
3975
  "aria-activedescendant": open && highlightedIndex >= 0 ? `${listboxId}-option-${highlightedIndex}` : void 0,
@@ -3924,12 +3995,12 @@ var AutocompleteTextfield = (0, import_react66.forwardRef)(
3924
3995
  value: inputValue
3925
3996
  }, rest), {
3926
3997
  children: [
3927
- slotLeft && /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(TextField.Slot, { side: "left", children: slotLeft }),
3928
- slotRight && /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(TextField.Slot, { side: "right", children: slotRight })
3998
+ slotLeft && /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(TextField.Slot, { side: "left", children: slotLeft }),
3999
+ slotRight && /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(TextField.Slot, { side: "right", children: slotRight })
3929
4000
  ]
3930
4001
  })
3931
4002
  ),
3932
- /* @__PURE__ */ (0, import_jsx_runtime118.jsxs)(
4003
+ /* @__PURE__ */ (0, import_jsx_runtime120.jsxs)(
3933
4004
  DropdownMenu.Root,
3934
4005
  {
3935
4006
  modal: false,
@@ -3941,7 +4012,7 @@ var AutocompleteTextfield = (0, import_react66.forwardRef)(
3941
4012
  },
3942
4013
  open,
3943
4014
  children: [
3944
- /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(DropdownMenu.Trigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(
4015
+ /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(DropdownMenu.Trigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(
3945
4016
  "span",
3946
4017
  {
3947
4018
  "aria-hidden": "true",
@@ -3956,7 +4027,7 @@ var AutocompleteTextfield = (0, import_react66.forwardRef)(
3956
4027
  }
3957
4028
  }
3958
4029
  ) }),
3959
- /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(
4030
+ /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(
3960
4031
  DropdownMenu.Content,
3961
4032
  {
3962
4033
  align: "start",
@@ -3973,7 +4044,7 @@ var AutocompleteTextfield = (0, import_react66.forwardRef)(
3973
4044
  padding: 0,
3974
4045
  width: "var(--radix-dropdown-menu-trigger-width)"
3975
4046
  },
3976
- 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)(
4047
+ 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)(
3977
4048
  "ul",
3978
4049
  {
3979
4050
  id: listboxId,
@@ -3982,7 +4053,7 @@ var AutocompleteTextfield = (0, import_react66.forwardRef)(
3982
4053
  style: { listStyle: "none", margin: 0, padding: 0 },
3983
4054
  children: filtered.map((option, index) => {
3984
4055
  const isHighlighted = index === highlightedIndex;
3985
- return /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(
4056
+ return /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(
3986
4057
  "li",
3987
4058
  {
3988
4059
  "aria-selected": isHighlighted,
@@ -4001,7 +4072,7 @@ var AutocompleteTextfield = (0, import_react66.forwardRef)(
4001
4072
  backgroundColor: isHighlighted ? "var(--accent-3)" : "transparent",
4002
4073
  transition: "background-color 80ms"
4003
4074
  },
4004
- children: /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(Typo, { variant: "body", children: option.label })
4075
+ children: /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(Typo, { variant: "body", children: option.label })
4005
4076
  },
4006
4077
  option.value
4007
4078
  );
@@ -4028,7 +4099,7 @@ var import_renderers = require("echarts/renderers");
4028
4099
  var import_components = require("echarts/components");
4029
4100
 
4030
4101
  // src/charts/horizontal-bar-chart.tsx
4031
- var import_jsx_runtime119 = require("react/jsx-runtime");
4102
+ var import_jsx_runtime121 = require("react/jsx-runtime");
4032
4103
 
4033
4104
  // src/charts/chart-theme.json
4034
4105
  var chart_theme_default = {
@@ -4179,7 +4250,7 @@ var EchartDefaultProps = {
4179
4250
  };
4180
4251
 
4181
4252
  // src/app/roleplay/chart/session-chart.tsx
4182
- var import_jsx_runtime120 = require("react/jsx-runtime");
4253
+ var import_jsx_runtime122 = require("react/jsx-runtime");
4183
4254
  function unwrapDefault(mod) {
4184
4255
  let current = mod;
4185
4256
  while (current !== null && typeof current === "object" && "default" in current) {
@@ -4239,7 +4310,7 @@ function Chart(_a) {
4239
4310
  };
4240
4311
  return deepMerge(baseOption, optionProp);
4241
4312
  }, [optionProp]);
4242
- return /* @__PURE__ */ (0, import_jsx_runtime120.jsx)("div", { ref, style: { width: "100%", height: "100%" }, children: mounted ? /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(
4313
+ return /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("div", { ref, style: { width: "100%", height: "100%" }, children: mounted ? /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(
4243
4314
  ReactEChartsCore,
4244
4315
  __spreadProps(__spreadValues(__spreadProps(__spreadValues({}, EchartDefaultProps), {
4245
4316
  echarts,
@@ -4288,7 +4359,7 @@ function useTokenColors(vars) {
4288
4359
  }
4289
4360
  setResolved(next);
4290
4361
  }, [key]);
4291
- const probe = /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(
4362
+ const probe = /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(
4292
4363
  "span",
4293
4364
  {
4294
4365
  "aria-hidden": true,
@@ -4300,7 +4371,7 @@ function useTokenColors(vars) {
4300
4371
  }
4301
4372
 
4302
4373
  // src/app/roleplay/parts/score-trend-section.tsx
4303
- var import_jsx_runtime121 = require("react/jsx-runtime");
4374
+ var import_jsx_runtime123 = require("react/jsx-runtime");
4304
4375
  function formatDateOnly(iso) {
4305
4376
  const d = new Date(iso);
4306
4377
  if (Number.isNaN(d.getTime())) return iso;
@@ -4311,9 +4382,9 @@ function Section4({
4311
4382
  desc,
4312
4383
  children
4313
4384
  }) {
4314
- return /* @__PURE__ */ (0, import_jsx_runtime121.jsxs)("section", { children: [
4315
- /* @__PURE__ */ (0, import_jsx_runtime121.jsxs)(import_themes7.Box, { mb: "3", children: [
4316
- /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(
4385
+ return /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)("section", { children: [
4386
+ /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)(import_themes7.Box, { mb: "3", children: [
4387
+ /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
4317
4388
  Heading2,
4318
4389
  {
4319
4390
  size: { initial: "4", md: "5" },
@@ -4322,14 +4393,14 @@ function Section4({
4322
4393
  children: title
4323
4394
  }
4324
4395
  ),
4325
- 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
4396
+ 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
4326
4397
  ] }),
4327
4398
  children
4328
4399
  ] });
4329
4400
  }
4330
4401
  function AttemptCell({ row }) {
4331
4402
  const d = row.original;
4332
- return /* @__PURE__ */ (0, import_jsx_runtime121.jsxs)(
4403
+ return /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)(
4333
4404
  Typo,
4334
4405
  {
4335
4406
  as: "span",
@@ -4345,11 +4416,11 @@ function AttemptCell({ row }) {
4345
4416
  );
4346
4417
  }
4347
4418
  function DateCell({ row }) {
4348
- return /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(Typo, { as: "span", mono: true, style: { color: "var(--gray-9)" }, variant: "body", children: formatDateOnly(row.original.createdAt) });
4419
+ return /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(Typo, { as: "span", mono: true, style: { color: "var(--gray-9)" }, variant: "body", children: formatDateOnly(row.original.createdAt) });
4349
4420
  }
4350
4421
  function ScoreCell({ row }) {
4351
4422
  var _a;
4352
- return /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(
4423
+ return /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
4353
4424
  Typo,
4354
4425
  {
4355
4426
  as: "span",
@@ -4363,9 +4434,9 @@ function ScoreCell({ row }) {
4363
4434
  function DeltaCell({ row }) {
4364
4435
  const { delta } = row.original;
4365
4436
  if (delta === null) {
4366
- return /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(Typo, { as: "span", mono: true, style: { color: "var(--gray-9)" }, variant: "body", children: "\u2014" });
4437
+ return /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(Typo, { as: "span", mono: true, style: { color: "var(--gray-9)" }, variant: "body", children: "\u2014" });
4367
4438
  }
4368
- return /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(Typo, { as: "span", mono: true, style: { color: "var(--gray-9)" }, variant: "body", children: delta > 0 ? `+${delta}` : `${delta}` });
4439
+ return /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(Typo, { as: "span", mono: true, style: { color: "var(--gray-9)" }, variant: "body", children: delta > 0 ? `+${delta}` : `${delta}` });
4369
4440
  }
4370
4441
  function ScoreTrendSection({
4371
4442
  history
@@ -4475,13 +4546,13 @@ function ScoreTrendSection({
4475
4546
  })
4476
4547
  ];
4477
4548
  }, []);
4478
- return /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(
4549
+ return /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
4479
4550
  Section4,
4480
4551
  {
4481
4552
  desc: `\uB3D9\uC77C \uB864\uD50C\uB808\uC789 \uCD5C\uADFC ${ordered.length}\uD68C\uCC28 \uCD1D\uC810 \uBCC0\uD654`,
4482
4553
  title: "\uCD1D\uC810 \uCD94\uC774",
4483
- children: /* @__PURE__ */ (0, import_jsx_runtime121.jsxs)(import_themes23.Flex, { direction: "column", gap: "4", children: [
4484
- /* @__PURE__ */ (0, import_jsx_runtime121.jsxs)(
4554
+ children: /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)(import_themes23.Flex, { direction: "column", gap: "4", children: [
4555
+ /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)(
4485
4556
  "div",
4486
4557
  {
4487
4558
  "aria-label": "\uCD1D\uC810 \uCD94\uC774 \uB77C\uC778 \uCC28\uD2B8",
@@ -4489,11 +4560,11 @@ function ScoreTrendSection({
4489
4560
  style: { position: "relative", width: "100%", height: 200 },
4490
4561
  children: [
4491
4562
  probe,
4492
- /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(Chart, { option })
4563
+ /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(Chart, { option })
4493
4564
  ]
4494
4565
  }
4495
4566
  ),
4496
- /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(import_themes7.Box, { className: "rp-expand-table", children: /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(
4567
+ /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(import_themes7.Box, { className: "rp-expand-table", children: /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
4497
4568
  ExpandTable,
4498
4569
  {
4499
4570
  columns,
@@ -4511,33 +4582,33 @@ function ScoreTrendSection({
4511
4582
 
4512
4583
  // src/app/roleplay/parts/section-nav.tsx
4513
4584
  var import_react69 = require("react");
4514
- var import_jsx_runtime122 = require("react/jsx-runtime");
4585
+ var import_jsx_runtime124 = require("react/jsx-runtime");
4515
4586
  var NAV_ICONS = {
4516
- "score-summary": /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)(import_jsx_runtime122.Fragment, { children: [
4517
- /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("path", { d: "m12 14 4-4" }),
4518
- /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("path", { d: "M3.34 19a10 10 0 1 1 17.32 0" })
4587
+ "score-summary": /* @__PURE__ */ (0, import_jsx_runtime124.jsxs)(import_jsx_runtime124.Fragment, { children: [
4588
+ /* @__PURE__ */ (0, import_jsx_runtime124.jsx)("path", { d: "m12 14 4-4" }),
4589
+ /* @__PURE__ */ (0, import_jsx_runtime124.jsx)("path", { d: "M3.34 19a10 10 0 1 1 17.32 0" })
4519
4590
  ] }),
4520
- 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" }),
4521
- improvements: /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)(import_jsx_runtime122.Fragment, { children: [
4522
- /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("circle", { cx: "12", cy: "12", r: "9" }),
4523
- /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("circle", { cx: "12", cy: "12", r: "5" }),
4524
- /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("circle", { cx: "12", cy: "12", r: "1.5" })
4591
+ 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" }),
4592
+ improvements: /* @__PURE__ */ (0, import_jsx_runtime124.jsxs)(import_jsx_runtime124.Fragment, { children: [
4593
+ /* @__PURE__ */ (0, import_jsx_runtime124.jsx)("circle", { cx: "12", cy: "12", r: "9" }),
4594
+ /* @__PURE__ */ (0, import_jsx_runtime124.jsx)("circle", { cx: "12", cy: "12", r: "5" }),
4595
+ /* @__PURE__ */ (0, import_jsx_runtime124.jsx)("circle", { cx: "12", cy: "12", r: "1.5" })
4525
4596
  ] }),
4526
- "score-trend": /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)(import_jsx_runtime122.Fragment, { children: [
4527
- /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("path", { d: "M3 3v18h18" }),
4528
- /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("path", { d: "m19 8-5 5-4-4-4 4" })
4597
+ "score-trend": /* @__PURE__ */ (0, import_jsx_runtime124.jsxs)(import_jsx_runtime124.Fragment, { children: [
4598
+ /* @__PURE__ */ (0, import_jsx_runtime124.jsx)("path", { d: "M3 3v18h18" }),
4599
+ /* @__PURE__ */ (0, import_jsx_runtime124.jsx)("path", { d: "m19 8-5 5-4-4-4 4" })
4529
4600
  ] }),
4530
- "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" }),
4531
- "step-detail": /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)(import_jsx_runtime122.Fragment, { children: [
4532
- /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("line", { x1: "8", x2: "21", y1: "6", y2: "6" }),
4533
- /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("line", { x1: "8", x2: "21", y1: "12", y2: "12" }),
4534
- /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("line", { x1: "8", x2: "21", y1: "18", y2: "18" }),
4535
- /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("path", { d: "M3 6h.01M3 12h.01M3 18h.01" })
4601
+ "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" }),
4602
+ "step-detail": /* @__PURE__ */ (0, import_jsx_runtime124.jsxs)(import_jsx_runtime124.Fragment, { children: [
4603
+ /* @__PURE__ */ (0, import_jsx_runtime124.jsx)("line", { x1: "8", x2: "21", y1: "6", y2: "6" }),
4604
+ /* @__PURE__ */ (0, import_jsx_runtime124.jsx)("line", { x1: "8", x2: "21", y1: "12", y2: "12" }),
4605
+ /* @__PURE__ */ (0, import_jsx_runtime124.jsx)("line", { x1: "8", x2: "21", y1: "18", y2: "18" }),
4606
+ /* @__PURE__ */ (0, import_jsx_runtime124.jsx)("path", { d: "M3 6h.01M3 12h.01M3 18h.01" })
4536
4607
  ] }),
4537
- coaching: /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("polygon", { points: "13 2 3 14 12 14 11 22 21 10 12 10 13 2" })
4608
+ coaching: /* @__PURE__ */ (0, import_jsx_runtime124.jsx)("polygon", { points: "13 2 3 14 12 14 11 22 21 10 12 10 13 2" })
4538
4609
  };
4539
4610
  function NavIcon({ children }) {
4540
- return /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(
4611
+ return /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(
4541
4612
  "svg",
4542
4613
  {
4543
4614
  "aria-hidden": "true",
@@ -4557,7 +4628,7 @@ function NavIcon({ children }) {
4557
4628
  function StepMetricBadge({ step }) {
4558
4629
  const scoreText = stepScoreText(step);
4559
4630
  if (scoreText !== null) {
4560
- return /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(
4631
+ return /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(
4561
4632
  Typo,
4562
4633
  {
4563
4634
  as: "span",
@@ -4572,7 +4643,7 @@ function StepMetricBadge({ step }) {
4572
4643
  }
4573
4644
  const gradeLabel = stepGradeLabel(step);
4574
4645
  if (gradeLabel !== null) {
4575
- return /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(
4646
+ return /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(
4576
4647
  Typo,
4577
4648
  {
4578
4649
  as: "span",
@@ -4615,8 +4686,8 @@ function scrollToId(id) {
4615
4686
  function SectionNav({ items, steps }) {
4616
4687
  const activeId = useScrollSpy(items.map((i) => i.id));
4617
4688
  const stepDetailActive = activeId === "step-summary" || activeId === "step-detail";
4618
- 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: [
4619
- /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(
4689
+ 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: [
4690
+ /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(
4620
4691
  Typo,
4621
4692
  {
4622
4693
  as: "p",
@@ -4630,9 +4701,9 @@ function SectionNav({ items, steps }) {
4630
4701
  children: "\uBAA9\uCC28"
4631
4702
  }
4632
4703
  ),
4633
- /* @__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) => {
4704
+ /* @__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) => {
4634
4705
  const active = activeId === item.id;
4635
- return /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("li", { children: /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)(
4706
+ return /* @__PURE__ */ (0, import_jsx_runtime124.jsx)("li", { children: /* @__PURE__ */ (0, import_jsx_runtime124.jsxs)(
4636
4707
  "button",
4637
4708
  {
4638
4709
  "aria-current": active ? "true" : void 0,
@@ -4646,9 +4717,9 @@ function SectionNav({ items, steps }) {
4646
4717
  } : void 0,
4647
4718
  type: "button",
4648
4719
  children: [
4649
- /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)(import_themes23.Flex, { align: "center", gap: "2", style: { minWidth: 0 }, children: [
4650
- NAV_ICONS[item.id] ? /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(NavIcon, { children: NAV_ICONS[item.id] }) : null,
4651
- /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(
4720
+ /* @__PURE__ */ (0, import_jsx_runtime124.jsxs)(import_themes23.Flex, { align: "center", gap: "2", style: { minWidth: 0 }, children: [
4721
+ NAV_ICONS[item.id] ? /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(NavIcon, { children: NAV_ICONS[item.id] }) : null,
4722
+ /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(
4652
4723
  Typo,
4653
4724
  {
4654
4725
  as: "span",
@@ -4659,8 +4730,8 @@ function SectionNav({ items, steps }) {
4659
4730
  }
4660
4731
  )
4661
4732
  ] }),
4662
- typeof item.score === "number" ? /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)(Typo, { as: "span", mono: true, style: { flexShrink: 0 }, variant: "body", children: [
4663
- /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(
4733
+ typeof item.score === "number" ? /* @__PURE__ */ (0, import_jsx_runtime124.jsxs)(Typo, { as: "span", mono: true, style: { flexShrink: 0 }, variant: "body", children: [
4734
+ /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(
4664
4735
  Typo,
4665
4736
  {
4666
4737
  as: "span",
@@ -4672,7 +4743,7 @@ function SectionNav({ items, steps }) {
4672
4743
  children: item.score
4673
4744
  }
4674
4745
  ),
4675
- /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)(Typo, { as: "span", style: { color: "var(--gray-9)" }, variant: "body", children: [
4746
+ /* @__PURE__ */ (0, import_jsx_runtime124.jsxs)(Typo, { as: "span", style: { color: "var(--gray-9)" }, variant: "body", children: [
4676
4747
  "/",
4677
4748
  item.max
4678
4749
  ] })
@@ -4681,8 +4752,8 @@ function SectionNav({ items, steps }) {
4681
4752
  }
4682
4753
  ) }, item.id);
4683
4754
  }) }) }),
4684
- steps.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)(import_themes7.Box, { mt: "3", pt: "3", style: { borderTop: "1px solid var(--gray-4)" }, children: [
4685
- /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(import_themes7.Box, { pb: "1", px: "3", children: /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(
4755
+ steps.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime124.jsxs)(import_themes7.Box, { mt: "3", pt: "3", style: { borderTop: "1px solid var(--gray-4)" }, children: [
4756
+ /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(import_themes7.Box, { pb: "1", px: "3", children: /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(
4686
4757
  Typo,
4687
4758
  {
4688
4759
  as: "span",
@@ -4694,9 +4765,9 @@ function SectionNav({ items, steps }) {
4694
4765
  children: "\uB2E8\uACC4\uBCC4 \uC810\uC218"
4695
4766
  }
4696
4767
  ) }),
4697
- /* @__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) => {
4768
+ /* @__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) => {
4698
4769
  const ratio = stepRatio(step);
4699
- return /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("li", { children: /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)(
4770
+ return /* @__PURE__ */ (0, import_jsx_runtime124.jsx)("li", { children: /* @__PURE__ */ (0, import_jsx_runtime124.jsxs)(
4700
4771
  "button",
4701
4772
  {
4702
4773
  className: "rp-jump-btn",
@@ -4705,8 +4776,8 @@ function SectionNav({ items, steps }) {
4705
4776
  },
4706
4777
  type: "button",
4707
4778
  children: [
4708
- /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)(import_themes23.Flex, { align: "center", gap: "2", justify: "between", children: [
4709
- /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)(
4779
+ /* @__PURE__ */ (0, import_jsx_runtime124.jsxs)(import_themes23.Flex, { align: "center", gap: "2", justify: "between", children: [
4780
+ /* @__PURE__ */ (0, import_jsx_runtime124.jsxs)(
4710
4781
  Typo,
4711
4782
  {
4712
4783
  as: "span",
@@ -4714,7 +4785,7 @@ function SectionNav({ items, steps }) {
4714
4785
  truncate: true,
4715
4786
  variant: "body",
4716
4787
  children: [
4717
- /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(
4788
+ /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(
4718
4789
  Typo,
4719
4790
  {
4720
4791
  as: "span",
@@ -4726,7 +4797,7 @@ function SectionNav({ items, steps }) {
4726
4797
  }
4727
4798
  ),
4728
4799
  " ",
4729
- /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(
4800
+ /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(
4730
4801
  Typo,
4731
4802
  {
4732
4803
  as: "span",
@@ -4738,9 +4809,9 @@ function SectionNav({ items, steps }) {
4738
4809
  ]
4739
4810
  }
4740
4811
  ),
4741
- /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(StepMetricBadge, { step })
4812
+ /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(StepMetricBadge, { step })
4742
4813
  ] }),
4743
- 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
4814
+ 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
4744
4815
  ]
4745
4816
  }
4746
4817
  ) }, step.key);
@@ -4750,14 +4821,14 @@ function SectionNav({ items, steps }) {
4750
4821
  }
4751
4822
 
4752
4823
  // src/app/roleplay/parts/step-detail.tsx
4753
- var import_jsx_runtime123 = require("react/jsx-runtime");
4824
+ var import_jsx_runtime125 = require("react/jsx-runtime");
4754
4825
  function RubricField({
4755
4826
  label,
4756
4827
  value
4757
4828
  }) {
4758
- return /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)(import_themes7.Box, { children: [
4759
- /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(Typo, { as: "p", variant: "body", weight: "medium", children: label }),
4760
- /* @__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 }) })
4829
+ return /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)(import_themes7.Box, { children: [
4830
+ /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(Typo, { as: "p", variant: "body", weight: "medium", children: label }),
4831
+ /* @__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 }) })
4761
4832
  ] });
4762
4833
  }
4763
4834
  function StepDetail({
@@ -4768,14 +4839,14 @@ function StepDetail({
4768
4839
  const ratio = stepRatio(step);
4769
4840
  const scoreText = stepScoreText(step);
4770
4841
  const gradeLabel = stepGradeLabel(step);
4771
- return /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)(import_themes7.Box, { id: `step-${step.key}`, style: { scrollMarginTop }, children: [
4772
- /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)(import_themes23.Flex, { align: "center", gap: "2", justify: "between", mb: "1", children: [
4773
- /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)(import_themes7.Box, { style: { minWidth: 0 }, children: [
4774
- /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(Typo, { as: "span", color: "gray", mono: true, variant: "body", children: stepCode(step) }),
4775
- /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(Typo, { as: "p", variant: "subtitle", weight: "bold", children: step.label })
4842
+ return /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)(import_themes7.Box, { id: `step-${step.key}`, style: { scrollMarginTop }, children: [
4843
+ /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)(import_themes23.Flex, { align: "center", gap: "2", justify: "between", mb: "1", children: [
4844
+ /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)(import_themes7.Box, { style: { minWidth: 0 }, children: [
4845
+ /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(Typo, { as: "span", color: "gray", mono: true, variant: "body", children: stepCode(step) }),
4846
+ /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(Typo, { as: "p", variant: "subtitle", weight: "bold", children: step.label })
4776
4847
  ] }),
4777
- /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)(import_themes23.Flex, { align: "end", direction: "column", gap: "1", style: { flexShrink: 0 }, children: [
4778
- scoreText !== null ? /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
4848
+ /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)(import_themes23.Flex, { align: "end", direction: "column", gap: "1", style: { flexShrink: 0 }, children: [
4849
+ scoreText !== null ? /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
4779
4850
  Typo,
4780
4851
  {
4781
4852
  as: "span",
@@ -4786,7 +4857,7 @@ function StepDetail({
4786
4857
  children: scoreText
4787
4858
  }
4788
4859
  ) : null,
4789
- gradeLabel !== null ? /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
4860
+ gradeLabel !== null ? /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
4790
4861
  Typo,
4791
4862
  {
4792
4863
  as: "span",
@@ -4806,16 +4877,16 @@ function StepDetail({
4806
4877
  ) : null
4807
4878
  ] })
4808
4879
  ] }),
4809
- 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,
4810
- 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,
4811
- /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)(import_themes23.Flex, { direction: "column", gap: "0", children: [
4812
- 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: [
4813
- step.basis ? /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(RubricField, { label: "\uADFC\uAC70", value: step.basis }) : null,
4814
- step.issue ? /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(RubricField, { label: "\uC544\uC26C\uC6B4 \uC810", value: step.issue }) : null
4880
+ 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,
4881
+ 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,
4882
+ /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)(import_themes23.Flex, { direction: "column", gap: "0", children: [
4883
+ 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: [
4884
+ step.basis ? /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(RubricField, { label: "\uADFC\uAC70", value: step.basis }) : null,
4885
+ step.issue ? /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(RubricField, { label: "\uC544\uC26C\uC6B4 \uC810", value: step.issue }) : null
4815
4886
  ] }) }) : null,
4816
- 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: [
4817
- step.improve ? /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(RubricField, { label: "\uAC1C\uC120\uC810", value: step.improve }) : null,
4818
- step.example ? /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)(
4887
+ 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: [
4888
+ step.improve ? /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(RubricField, { label: "\uAC1C\uC120\uC810", value: step.improve }) : null,
4889
+ step.example ? /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)(
4819
4890
  import_themes7.Box,
4820
4891
  {
4821
4892
  p: "2",
@@ -4824,7 +4895,7 @@ function StepDetail({
4824
4895
  background: "var(--accent-a2)"
4825
4896
  },
4826
4897
  children: [
4827
- /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
4898
+ /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
4828
4899
  Typo,
4829
4900
  {
4830
4901
  as: "p",
@@ -4834,11 +4905,11 @@ function StepDetail({
4834
4905
  children: "\uC608\uC2DC \uC2A4\uD06C\uB9BD\uD2B8"
4835
4906
  }
4836
4907
  ),
4837
- /* @__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 }) })
4908
+ /* @__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 }) })
4838
4909
  ]
4839
4910
  }
4840
4911
  ) : null,
4841
- step.idealExample ? /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)(
4912
+ step.idealExample ? /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)(
4842
4913
  import_themes7.Box,
4843
4914
  {
4844
4915
  p: "2",
@@ -4847,8 +4918,8 @@ function StepDetail({
4847
4918
  background: "var(--gray-a2)"
4848
4919
  },
4849
4920
  children: [
4850
- /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(Typo, { as: "p", color: "gray", variant: "body", weight: "medium", children: "\uBAA8\uBC94 \uC608\uC2DC" }),
4851
- /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(import_themes7.Box, { mt: "1", style: { maxWidth: "65ch" }, children: /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
4921
+ /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(Typo, { as: "p", color: "gray", variant: "body", weight: "medium", children: "\uBAA8\uBC94 \uC608\uC2DC" }),
4922
+ /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(import_themes7.Box, { mt: "1", style: { maxWidth: "65ch" }, children: /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
4852
4923
  Typo,
4853
4924
  {
4854
4925
  as: "p",
@@ -4867,7 +4938,7 @@ function StepDetail({
4867
4938
  }
4868
4939
 
4869
4940
  // src/app/roleplay/parts/step-radar.tsx
4870
- var import_jsx_runtime124 = require("react/jsx-runtime");
4941
+ var import_jsx_runtime126 = require("react/jsx-runtime");
4871
4942
  function StepRadar({ steps }) {
4872
4943
  const { colors, probe } = useTokenColors({
4873
4944
  accent: ["--accent-9", "#5b5bd6"],
@@ -4916,7 +4987,7 @@ function StepRadar({ steps }) {
4916
4987
  }
4917
4988
  ]
4918
4989
  };
4919
- return /* @__PURE__ */ (0, import_jsx_runtime124.jsxs)(
4990
+ return /* @__PURE__ */ (0, import_jsx_runtime126.jsxs)(
4920
4991
  "div",
4921
4992
  {
4922
4993
  "aria-label": "\uD3C9\uAC00 \uB2E8\uACC4 \uB808\uC774\uB354 \uCC28\uD2B8",
@@ -4932,23 +5003,23 @@ function StepRadar({ steps }) {
4932
5003
  },
4933
5004
  children: [
4934
5005
  probe,
4935
- /* @__PURE__ */ (0, import_jsx_runtime124.jsx)("div", { style: { width: "100%", maxWidth: 300, height: 280 }, children: /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(Chart, { option }) })
5006
+ /* @__PURE__ */ (0, import_jsx_runtime126.jsx)("div", { style: { width: "100%", maxWidth: 300, height: 280 }, children: /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(Chart, { option }) })
4936
5007
  ]
4937
5008
  }
4938
5009
  );
4939
5010
  }
4940
5011
 
4941
5012
  // src/app/roleplay/parts/step-summary.tsx
4942
- var import_jsx_runtime125 = require("react/jsx-runtime");
5013
+ var import_jsx_runtime127 = require("react/jsx-runtime");
4943
5014
  function Section5({
4944
5015
  title,
4945
5016
  desc,
4946
5017
  children
4947
5018
  }) {
4948
- return /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)("section", { children: [
4949
- /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)(import_themes7.Box, { mb: "3", children: [
4950
- /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(Typo, { as: "p", variant: "subtitle", weight: "bold", children: title }),
4951
- 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
5019
+ return /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)("section", { children: [
5020
+ /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(import_themes7.Box, { mb: "3", children: [
5021
+ /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(Typo, { as: "p", variant: "subtitle", weight: "bold", children: title }),
5022
+ 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
4952
5023
  ] }),
4953
5024
  children
4954
5025
  ] });
@@ -4957,13 +5028,13 @@ function StepSummary({ steps }) {
4957
5028
  if (steps.length === 0) return null;
4958
5029
  const radarReady = steps.every((s) => stepRatio(s) !== null);
4959
5030
  const desc = "\uB300\uD654 \uB2E8\uACC4 \uBCC4\uB85C \uB098\uC758 \uAC15\uC57D\uC810\uC744 \uD655\uC778\uD560 \uC218 \uC788\uC5B4\uC694.";
4960
- const list = /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(import_themes23.Flex, { direction: "column", children: steps.map((step, i) => {
5031
+ const list = /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(import_themes23.Flex, { direction: "column", children: steps.map((step, i) => {
4961
5032
  const ratio = stepRatio(step);
4962
5033
  const scoreText = stepScoreText(step);
4963
5034
  const gradeLabel = stepGradeLabel(step);
4964
- return /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)(import_themes7.Box, { children: [
4965
- i > 0 && /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(import_themes40.Separator, { size: "4" }),
4966
- /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
5035
+ return /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(import_themes7.Box, { children: [
5036
+ i > 0 && /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(import_themes40.Separator, { size: "4" }),
5037
+ /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(
4967
5038
  "button",
4968
5039
  {
4969
5040
  className: "rp-rubric-scroll-btn",
@@ -4980,9 +5051,9 @@ function StepSummary({ steps }) {
4980
5051
  textAlign: "left"
4981
5052
  },
4982
5053
  type: "button",
4983
- children: /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)(import_themes23.Flex, { direction: "column", gap: "1", children: [
4984
- /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)(import_themes23.Flex, { align: "center", gap: "2", justify: "between", children: [
4985
- /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)(
5054
+ children: /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(import_themes23.Flex, { direction: "column", gap: "1", children: [
5055
+ /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(import_themes23.Flex, { align: "center", gap: "2", justify: "between", children: [
5056
+ /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(
4986
5057
  Typo,
4987
5058
  {
4988
5059
  as: "span",
@@ -4991,7 +5062,7 @@ function StepSummary({ steps }) {
4991
5062
  variant: "body",
4992
5063
  weight: "medium",
4993
5064
  children: [
4994
- /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
5065
+ /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(
4995
5066
  Typo,
4996
5067
  {
4997
5068
  as: "span",
@@ -5007,9 +5078,9 @@ function StepSummary({ steps }) {
5007
5078
  ]
5008
5079
  }
5009
5080
  ),
5010
- /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)(import_themes23.Flex, { align: "center", gap: "2", style: { flexShrink: 0 }, children: [
5011
- scoreText !== null ? /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(Typo, { as: "span", mono: true, variant: "body", weight: "bold", children: scoreText }) : null,
5012
- gradeLabel !== null ? /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
5081
+ /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(import_themes23.Flex, { align: "center", gap: "2", style: { flexShrink: 0 }, children: [
5082
+ scoreText !== null ? /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(Typo, { as: "span", mono: true, variant: "body", weight: "bold", children: scoreText }) : null,
5083
+ gradeLabel !== null ? /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(
5013
5084
  Typo,
5014
5085
  {
5015
5086
  as: "span",
@@ -5022,13 +5093,13 @@ function StepSummary({ steps }) {
5022
5093
  ) : null
5023
5094
  ] })
5024
5095
  ] }),
5025
- 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
5096
+ 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
5026
5097
  ] })
5027
5098
  }
5028
5099
  )
5029
5100
  ] }, step.key);
5030
5101
  }) });
5031
- return /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(Section5, { desc, title: "\uD3C9\uAC00 \uB2E8\uACC4 \uC694\uC57D", children: radarReady ? /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)(
5102
+ return /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(Section5, { desc, title: "\uD3C9\uAC00 \uB2E8\uACC4 \uC694\uC57D", children: radarReady ? /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(
5032
5103
  import_themes24.Grid,
5033
5104
  {
5034
5105
  align: "center",
@@ -5036,14 +5107,14 @@ function StepSummary({ steps }) {
5036
5107
  gap: "6",
5037
5108
  children: [
5038
5109
  list,
5039
- /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(StepRadar, { steps })
5110
+ /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(StepRadar, { steps })
5040
5111
  ]
5041
5112
  }
5042
5113
  ) : list });
5043
5114
  }
5044
5115
 
5045
5116
  // src/app/roleplay/parts/content.tsx
5046
- var import_jsx_runtime126 = require("react/jsx-runtime");
5117
+ var import_jsx_runtime128 = require("react/jsx-runtime");
5047
5118
  function Content9({
5048
5119
  detail,
5049
5120
  report,
@@ -5066,20 +5137,20 @@ function Content9({
5066
5137
  ...showStepDetail ? [{ id: "step-detail", label: "\uB2E8\uACC4\uBCC4 \uC0C1\uC138 \uBD84\uC11D" }] : [],
5067
5138
  ...skills.length > 0 ? [{ id: "coaching", label: "\uC989\uC2DC \uC801\uC6A9 \uC2A4\uD0AC" }] : []
5068
5139
  ];
5069
- return /* @__PURE__ */ (0, import_jsx_runtime126.jsxs)(
5140
+ return /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)(
5070
5141
  import_themes24.Grid,
5071
5142
  {
5072
5143
  align: "start",
5073
5144
  columns: { initial: "1", md: "minmax(0, 1fr) 224px" },
5074
5145
  gap: "7",
5075
5146
  children: [
5076
- /* @__PURE__ */ (0, import_jsx_runtime126.jsxs)(import_themes23.Flex, { direction: "column", gap: "7", children: [
5077
- report.frameworkTitle !== null || report.frameworkDescription !== null ? /* @__PURE__ */ (0, import_jsx_runtime126.jsxs)(import_themes7.Box, { children: [
5078
- report.frameworkTitle !== null ? /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(Heading2, { size: "5", weight: "bold", children: report.frameworkTitle }) : null,
5079
- 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
5147
+ /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)(import_themes23.Flex, { direction: "column", gap: "7", children: [
5148
+ report.frameworkTitle !== null || report.frameworkDescription !== null ? /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)(import_themes7.Box, { children: [
5149
+ report.frameworkTitle !== null ? /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(Heading2, { size: "5", weight: "bold", children: report.frameworkTitle }) : null,
5150
+ 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
5080
5151
  ] }) : null,
5081
- /* @__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 }) }),
5082
- strengths.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(import_themes7.Box, { id: "strengths", style: { scrollMarginTop }, children: /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(
5152
+ /* @__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 }) }),
5153
+ strengths.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(import_themes7.Box, { id: "strengths", style: { scrollMarginTop }, children: /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
5083
5154
  AnalysisSection,
5084
5155
  {
5085
5156
  desc: "\uC774\uBC88 \uC138\uC158\uC5D0\uC11C \uAC00\uC7A5 \uB3CB\uBCF4\uC778 \uAC15\uC810\uB4E4\uC774\uC5D0\uC694.",
@@ -5088,7 +5159,7 @@ function Content9({
5088
5159
  tone: "good"
5089
5160
  }
5090
5161
  ) }) : null,
5091
- improvements.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(import_themes7.Box, { id: "improvements", style: { scrollMarginTop }, children: /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(
5162
+ improvements.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(import_themes7.Box, { id: "improvements", style: { scrollMarginTop }, children: /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
5092
5163
  AnalysisSection,
5093
5164
  {
5094
5165
  desc: "\uB2E4\uC74C\uC5D0 \uBCF4\uC644\uD55C\uB2E4\uBA74 \uB354 \uB098\uC740 \uACB0\uACFC\uB97C \uC5BB\uC744 \uC218 \uC788\uC744 \uAC70\uC5D0\uC694.",
@@ -5097,15 +5168,15 @@ function Content9({
5097
5168
  tone: "bad"
5098
5169
  }
5099
5170
  ) }) : null,
5100
- 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,
5101
- 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,
5102
- showStepDetail ? /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(import_themes7.Box, { id: "step-detail", style: { scrollMarginTop }, children: /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(
5171
+ 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,
5172
+ 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,
5173
+ showStepDetail ? /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(import_themes7.Box, { id: "step-detail", style: { scrollMarginTop }, children: /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
5103
5174
  Section2,
5104
5175
  {
5105
5176
  desc: "\uC774\uBC88 \uB300\uD654\uC758 \uB354 \uB098\uC544\uC9C8 \uC218 \uC788\uB294 \uBC29\uD5A5\uC744 \uC54C\uB824\uB4DC\uB9B4\uAC8C\uC694.",
5106
5177
  title: "\uB2E8\uACC4\uBCC4 \uC0C1\uC138 \uBD84\uC11D",
5107
- 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: [
5108
- i > 0 ? /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(
5178
+ 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: [
5179
+ i > 0 ? /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
5109
5180
  import_themes40.Separator,
5110
5181
  {
5111
5182
  mb: "6",
@@ -5113,22 +5184,22 @@ function Content9({
5113
5184
  style: { marginTop: "calc(var(--space-9) * 1.6)" }
5114
5185
  }
5115
5186
  ) : null,
5116
- /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(StepDetail, { scrollMarginTop, step })
5187
+ /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(StepDetail, { scrollMarginTop, step })
5117
5188
  ] }, step.key)) })
5118
5189
  }
5119
5190
  ) }) : null,
5120
- 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
5191
+ 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
5121
5192
  ] }),
5122
- /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(SectionNav, { items: navItems, steps: showStepDetail ? steps : [] })
5193
+ /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(SectionNav, { items: navItems, steps: showStepDetail ? steps : [] })
5123
5194
  ]
5124
5195
  }
5125
5196
  );
5126
5197
  }
5127
5198
 
5128
5199
  // src/app/roleplay/parts/header.tsx
5129
- var import_jsx_runtime127 = require("react/jsx-runtime");
5200
+ var import_jsx_runtime129 = require("react/jsx-runtime");
5130
5201
  function PdfIcon() {
5131
- return /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(
5202
+ return /* @__PURE__ */ (0, import_jsx_runtime129.jsxs)(
5132
5203
  "svg",
5133
5204
  {
5134
5205
  "aria-hidden": "true",
@@ -5141,16 +5212,16 @@ function PdfIcon() {
5141
5212
  viewBox: "0 0 24 24",
5142
5213
  width: "13",
5143
5214
  children: [
5144
- /* @__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" }),
5145
- /* @__PURE__ */ (0, import_jsx_runtime127.jsx)("path", { d: "M14 3v5h5" }),
5146
- /* @__PURE__ */ (0, import_jsx_runtime127.jsx)("path", { d: "M12 12v5" }),
5147
- /* @__PURE__ */ (0, import_jsx_runtime127.jsx)("path", { d: "M9.5 14.5 12 17l2.5-2.5" })
5215
+ /* @__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" }),
5216
+ /* @__PURE__ */ (0, import_jsx_runtime129.jsx)("path", { d: "M14 3v5h5" }),
5217
+ /* @__PURE__ */ (0, import_jsx_runtime129.jsx)("path", { d: "M12 12v5" }),
5218
+ /* @__PURE__ */ (0, import_jsx_runtime129.jsx)("path", { d: "M9.5 14.5 12 17l2.5-2.5" })
5148
5219
  ]
5149
5220
  }
5150
5221
  );
5151
5222
  }
5152
5223
  function VideoIcon3() {
5153
- return /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(
5224
+ return /* @__PURE__ */ (0, import_jsx_runtime129.jsxs)(
5154
5225
  "svg",
5155
5226
  {
5156
5227
  "aria-hidden": "true",
@@ -5163,8 +5234,8 @@ function VideoIcon3() {
5163
5234
  viewBox: "0 0 24 24",
5164
5235
  width: "13",
5165
5236
  children: [
5166
- /* @__PURE__ */ (0, import_jsx_runtime127.jsx)("rect", { height: "12", rx: "2", width: "13", x: "2", y: "6" }),
5167
- /* @__PURE__ */ (0, import_jsx_runtime127.jsx)("path", { d: "m15 10 6-3v10l-6-3z" })
5237
+ /* @__PURE__ */ (0, import_jsx_runtime129.jsx)("rect", { height: "12", rx: "2", width: "13", x: "2", y: "6" }),
5238
+ /* @__PURE__ */ (0, import_jsx_runtime129.jsx)("path", { d: "m15 10 6-3v10l-6-3z" })
5168
5239
  ]
5169
5240
  }
5170
5241
  );
@@ -5189,7 +5260,7 @@ function Header({
5189
5260
  });
5190
5261
  };
5191
5262
  const replayActive = hasScript && hasReplayMedia;
5192
- return /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(import_themes7.Box, { children: /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(
5263
+ return /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(import_themes7.Box, { children: /* @__PURE__ */ (0, import_jsx_runtime129.jsxs)(
5193
5264
  import_themes23.Flex,
5194
5265
  {
5195
5266
  align: { md: "start" },
@@ -5197,16 +5268,16 @@ function Header({
5197
5268
  gap: "4",
5198
5269
  justify: "between",
5199
5270
  children: [
5200
- /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(import_themes7.Box, { style: { minWidth: 0 }, children: [
5201
- /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(import_themes23.Flex, { align: "center", gap: "2", mb: "2", wrap: "wrap", children: [
5202
- /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(Badge, { color: "neutral", size: "small", variant: "soft", children: statusLabelOf(detail.status) }),
5203
- /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(Typo, { as: "span", color: "gray", variant: "body", children: [
5271
+ /* @__PURE__ */ (0, import_jsx_runtime129.jsxs)(import_themes7.Box, { style: { minWidth: 0 }, children: [
5272
+ /* @__PURE__ */ (0, import_jsx_runtime129.jsxs)(import_themes23.Flex, { align: "center", gap: "2", mb: "2", wrap: "wrap", children: [
5273
+ /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(Badge, { color: "neutral", size: "small", variant: "soft", children: statusLabelOf(detail.status) }),
5274
+ /* @__PURE__ */ (0, import_jsx_runtime129.jsxs)(Typo, { as: "span", color: "gray", variant: "body", children: [
5204
5275
  detail.trainingSessionNum,
5205
5276
  "\uD68C\uCC28",
5206
5277
  detail.characterTitle ? ` \xB7 ${detail.characterTitle}` : ""
5207
5278
  ] })
5208
5279
  ] }),
5209
- /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(
5280
+ /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
5210
5281
  Heading2,
5211
5282
  {
5212
5283
  size: { initial: "5", md: "7" },
@@ -5215,13 +5286,13 @@ function Header({
5215
5286
  children: (_a = detail.scenarioTitle) != null ? _a : "\uB864\uD50C\uB808\uC789 \uC138\uC158"
5216
5287
  }
5217
5288
  ),
5218
- /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(Typo, { as: "p", color: "gray", mono: true, mt: "1", variant: "body", children: [
5289
+ /* @__PURE__ */ (0, import_jsx_runtime129.jsxs)(Typo, { as: "p", color: "gray", mono: true, mt: "1", variant: "body", children: [
5219
5290
  formatDate(detail.createdAt),
5220
5291
  " \xB7 ",
5221
5292
  formatDuration(detail.trainingTime)
5222
5293
  ] })
5223
5294
  ] }),
5224
- /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(
5295
+ /* @__PURE__ */ (0, import_jsx_runtime129.jsxs)(
5225
5296
  import_themes23.Flex,
5226
5297
  {
5227
5298
  gap: "2",
@@ -5229,7 +5300,7 @@ function Header({
5229
5300
  style: { flexShrink: 0 },
5230
5301
  wrap: "wrap",
5231
5302
  children: [
5232
- onResolveMediaUrl ? /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(
5303
+ onResolveMediaUrl ? /* @__PURE__ */ (0, import_jsx_runtime129.jsxs)(
5233
5304
  Button,
5234
5305
  {
5235
5306
  color: "gray",
@@ -5240,11 +5311,11 @@ function Header({
5240
5311
  type: "button",
5241
5312
  variant: "outline",
5242
5313
  children: [
5243
- /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(PdfIcon, {}),
5244
- /* @__PURE__ */ (0, import_jsx_runtime127.jsx)("span", { style: { whiteSpace: "nowrap" }, children: "PDF \uB2E4\uC6B4\uB85C\uB4DC" })
5314
+ /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(PdfIcon, {}),
5315
+ /* @__PURE__ */ (0, import_jsx_runtime129.jsx)("span", { style: { whiteSpace: "nowrap" }, children: "PDF \uB2E4\uC6B4\uB85C\uB4DC" })
5245
5316
  ]
5246
5317
  }
5247
- ) : /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(
5318
+ ) : /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
5248
5319
  Button,
5249
5320
  {
5250
5321
  asChild: Boolean(pdfHref),
@@ -5254,16 +5325,16 @@ function Header({
5254
5325
  title: pdfHref ? void 0 : "\uC0B0\uCD9C\uBB3C \uC5C6\uC74C",
5255
5326
  type: "button",
5256
5327
  variant: "outline",
5257
- children: pdfHref ? /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)("a", { href: pdfHref, rel: "noopener noreferrer", target: "_blank", children: [
5258
- /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(PdfIcon, {}),
5259
- /* @__PURE__ */ (0, import_jsx_runtime127.jsx)("span", { style: { whiteSpace: "nowrap" }, children: "PDF \uB2E4\uC6B4\uB85C\uB4DC" })
5260
- ] }) : /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)("span", { children: [
5261
- /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(PdfIcon, {}),
5262
- /* @__PURE__ */ (0, import_jsx_runtime127.jsx)("span", { style: { whiteSpace: "nowrap" }, children: "PDF \uB2E4\uC6B4\uB85C\uB4DC" })
5328
+ children: pdfHref ? /* @__PURE__ */ (0, import_jsx_runtime129.jsxs)("a", { href: pdfHref, rel: "noopener noreferrer", target: "_blank", children: [
5329
+ /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(PdfIcon, {}),
5330
+ /* @__PURE__ */ (0, import_jsx_runtime129.jsx)("span", { style: { whiteSpace: "nowrap" }, children: "PDF \uB2E4\uC6B4\uB85C\uB4DC" })
5331
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime129.jsxs)("span", { children: [
5332
+ /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(PdfIcon, {}),
5333
+ /* @__PURE__ */ (0, import_jsx_runtime129.jsx)("span", { style: { whiteSpace: "nowrap" }, children: "PDF \uB2E4\uC6B4\uB85C\uB4DC" })
5263
5334
  ] })
5264
5335
  }
5265
5336
  ),
5266
- hasScript ? /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(
5337
+ hasScript ? /* @__PURE__ */ (0, import_jsx_runtime129.jsxs)(
5267
5338
  Button,
5268
5339
  {
5269
5340
  color: "gray",
@@ -5274,8 +5345,8 @@ function Header({
5274
5345
  type: "button",
5275
5346
  variant: "outline",
5276
5347
  children: [
5277
- /* @__PURE__ */ (0, import_jsx_runtime127.jsx)(VideoIcon3, {}),
5278
- /* @__PURE__ */ (0, import_jsx_runtime127.jsx)("span", { style: { whiteSpace: "nowrap" }, children: "\uC601\uC0C1" })
5348
+ /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(VideoIcon3, {}),
5349
+ /* @__PURE__ */ (0, import_jsx_runtime129.jsx)("span", { style: { whiteSpace: "nowrap" }, children: "\uC601\uC0C1" })
5279
5350
  ]
5280
5351
  }
5281
5352
  ) : null
@@ -5291,7 +5362,7 @@ function Header({
5291
5362
  var import_react70 = require("react");
5292
5363
 
5293
5364
  // src/app/roleplay/parts/script-transcript.tsx
5294
- var import_jsx_runtime128 = require("react/jsx-runtime");
5365
+ var import_jsx_runtime130 = require("react/jsx-runtime");
5295
5366
  function ScriptTranscript({
5296
5367
  lines,
5297
5368
  partnerName,
@@ -5301,11 +5372,11 @@ function ScriptTranscript({
5301
5372
  onSeek
5302
5373
  }) {
5303
5374
  const activeIndex = canSync ? lines.reduce((acc, line, i) => line.startMs <= currentMs ? i : acc, -1) : -1;
5304
- return /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)(import_themes23.Flex, { direction: "column", gap: "2", style: { minWidth: 0 }, children: [
5305
- /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)(import_themes7.Box, { children: [
5306
- /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)(import_themes23.Flex, { align: "center", gap: "2", justify: "between", children: [
5307
- /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(Typo, { as: "span", variant: "body", weight: "bold", children: "\uB300\uD654 \uC2A4\uD06C\uB9BD\uD2B8" }),
5308
- /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
5375
+ return /* @__PURE__ */ (0, import_jsx_runtime130.jsxs)(import_themes23.Flex, { direction: "column", gap: "2", style: { minWidth: 0 }, children: [
5376
+ /* @__PURE__ */ (0, import_jsx_runtime130.jsxs)(import_themes7.Box, { children: [
5377
+ /* @__PURE__ */ (0, import_jsx_runtime130.jsxs)(import_themes23.Flex, { align: "center", gap: "2", justify: "between", children: [
5378
+ /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(Typo, { as: "span", variant: "body", weight: "bold", children: "\uB300\uD654 \uC2A4\uD06C\uB9BD\uD2B8" }),
5379
+ /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
5309
5380
  Typo,
5310
5381
  {
5311
5382
  as: "span",
@@ -5315,16 +5386,16 @@ function ScriptTranscript({
5315
5386
  }
5316
5387
  )
5317
5388
  ] }),
5318
- partnerName ? /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)(Typo, { as: "p", color: "gray", mt: "1", variant: "body", children: [
5389
+ partnerName ? /* @__PURE__ */ (0, import_jsx_runtime130.jsxs)(Typo, { as: "p", color: "gray", mt: "1", variant: "body", children: [
5319
5390
  "\uC0C1\uB300 \xB7 ",
5320
5391
  partnerName
5321
5392
  ] }) : null,
5322
- speechShare ? /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(import_themes7.Box, { mt: "2", children: /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(SpeechShareBar, { share: speechShare }) }) : null
5393
+ speechShare ? /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(import_themes7.Box, { mt: "2", children: /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(SpeechShareBar, { share: speechShare }) }) : null
5323
5394
  ] }),
5324
- 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) => {
5395
+ 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) => {
5325
5396
  const isUser = line.speaker === "user";
5326
5397
  const isActive = i === activeIndex;
5327
- return /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)(
5398
+ return /* @__PURE__ */ (0, import_jsx_runtime130.jsxs)(
5328
5399
  import_themes23.Flex,
5329
5400
  {
5330
5401
  align: "start",
@@ -5340,7 +5411,7 @@ function ScriptTranscript({
5340
5411
  background: isActive ? "var(--accent-a3)" : "transparent"
5341
5412
  },
5342
5413
  children: [
5343
- canSync ? /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
5414
+ canSync ? /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
5344
5415
  Typo,
5345
5416
  {
5346
5417
  as: "span",
@@ -5355,7 +5426,7 @@ function ScriptTranscript({
5355
5426
  children: formatTimestamp(line.startMs)
5356
5427
  }
5357
5428
  ) : null,
5358
- /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
5429
+ /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
5359
5430
  Typo,
5360
5431
  {
5361
5432
  as: "span",
@@ -5371,7 +5442,7 @@ function ScriptTranscript({
5371
5442
  children: isUser ? "\uB098" : "\uC0C1\uB300"
5372
5443
  }
5373
5444
  ),
5374
- /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
5445
+ /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
5375
5446
  Typo,
5376
5447
  {
5377
5448
  as: "span",
@@ -5394,7 +5465,7 @@ function ScriptTranscript({
5394
5465
  }
5395
5466
 
5396
5467
  // src/app/roleplay/parts/session-replay-dialog.tsx
5397
- var import_jsx_runtime129 = require("react/jsx-runtime");
5468
+ var import_jsx_runtime131 = require("react/jsx-runtime");
5398
5469
  function resolveUrl(raw, disp, resolver) {
5399
5470
  return __async(this, null, function* () {
5400
5471
  if (!raw) return void 0;
@@ -5454,14 +5525,14 @@ function SessionReplayDialog({
5454
5525
  setCurrentMs(el.currentTime * 1e3);
5455
5526
  }
5456
5527
  };
5457
- 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)(
5528
+ 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)(
5458
5529
  import_themes24.Grid,
5459
5530
  {
5460
5531
  columns: { initial: "1", md: "minmax(0, 1fr) minmax(0, 1.05fr)" },
5461
5532
  gap: "5",
5462
5533
  mt: "2",
5463
5534
  children: [
5464
- /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(import_themes7.Box, { children: /* @__PURE__ */ (0, import_jsx_runtime129.jsxs)(
5535
+ /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(import_themes7.Box, { children: /* @__PURE__ */ (0, import_jsx_runtime131.jsxs)(
5465
5536
  Tabs.Root,
5466
5537
  {
5467
5538
  onValueChange: (v) => {
@@ -5469,11 +5540,11 @@ function SessionReplayDialog({
5469
5540
  },
5470
5541
  value: tab,
5471
5542
  children: [
5472
- /* @__PURE__ */ (0, import_jsx_runtime129.jsxs)(Tabs.List, { children: [
5473
- hasVideo ? /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(Tabs.Trigger, { value: "video", children: "\uC601\uC0C1" }) : null,
5474
- hasAudio ? /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(Tabs.Trigger, { value: "audio", children: "\uC624\uB514\uC624" }) : null
5543
+ /* @__PURE__ */ (0, import_jsx_runtime131.jsxs)(Tabs.List, { children: [
5544
+ hasVideo ? /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(Tabs.Trigger, { value: "video", children: "\uC601\uC0C1" }) : null,
5545
+ hasAudio ? /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(Tabs.Trigger, { value: "audio", children: "\uC624\uB514\uC624" }) : null
5475
5546
  ] }),
5476
- hasVideo ? /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(Tabs.Content, { value: "video", children: /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
5547
+ hasVideo ? /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(Tabs.Content, { value: "video", children: /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(
5477
5548
  import_themes7.Box,
5478
5549
  {
5479
5550
  mt: "3",
@@ -5482,7 +5553,7 @@ function SessionReplayDialog({
5482
5553
  overflow: "hidden",
5483
5554
  background: "var(--gray-3)"
5484
5555
  },
5485
- children: /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
5556
+ children: /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(
5486
5557
  "video",
5487
5558
  {
5488
5559
  controls: true,
@@ -5498,7 +5569,7 @@ function SessionReplayDialog({
5498
5569
  )
5499
5570
  }
5500
5571
  ) }) : null,
5501
- 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)(
5572
+ 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)(
5502
5573
  "audio",
5503
5574
  {
5504
5575
  controls: true,
@@ -5515,7 +5586,7 @@ function SessionReplayDialog({
5515
5586
  ]
5516
5587
  }
5517
5588
  ) }),
5518
- /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
5589
+ /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(
5519
5590
  ScriptTranscript,
5520
5591
  {
5521
5592
  canSync,
@@ -5532,25 +5603,25 @@ function SessionReplayDialog({
5532
5603
  }
5533
5604
 
5534
5605
  // src/app/roleplay/rp-session-detail.tsx
5535
- var import_jsx_runtime130 = require("react/jsx-runtime");
5606
+ var import_jsx_runtime132 = require("react/jsx-runtime");
5536
5607
  function RpSessionDetailSkeleton() {
5537
- 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: [
5538
- /* @__PURE__ */ (0, import_jsx_runtime130.jsxs)(import_themes7.Box, { children: [
5539
- /* @__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" }) }),
5540
- /* @__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" }) }) })
5608
+ 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: [
5609
+ /* @__PURE__ */ (0, import_jsx_runtime132.jsxs)(import_themes7.Box, { children: [
5610
+ /* @__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" }) }),
5611
+ /* @__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" }) }) })
5541
5612
  ] }),
5542
- /* @__PURE__ */ (0, import_jsx_runtime130.jsxs)("section", { children: [
5543
- /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(import_themes41.Skeleton, { children: /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(Heading2, { size: "5", children: "\uC885\uD569 \uC810\uC218" }) }),
5544
- /* @__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" }) }) }) }) })
5613
+ /* @__PURE__ */ (0, import_jsx_runtime132.jsxs)("section", { children: [
5614
+ /* @__PURE__ */ (0, import_jsx_runtime132.jsx)(import_themes41.Skeleton, { children: /* @__PURE__ */ (0, import_jsx_runtime132.jsx)(Heading2, { size: "5", children: "\uC885\uD569 \uC810\uC218" }) }),
5615
+ /* @__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" }) }) }) }) })
5545
5616
  ] }),
5546
- /* @__PURE__ */ (0, import_jsx_runtime130.jsxs)("section", { children: [
5547
- /* @__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" }) }),
5548
- /* @__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)) }) })
5617
+ /* @__PURE__ */ (0, import_jsx_runtime132.jsxs)("section", { children: [
5618
+ /* @__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" }) }),
5619
+ /* @__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)) }) })
5549
5620
  ] })
5550
5621
  ] }) });
5551
5622
  }
5552
5623
  function AnalyzingState() {
5553
- return /* @__PURE__ */ (0, import_jsx_runtime130.jsxs)(
5624
+ return /* @__PURE__ */ (0, import_jsx_runtime132.jsxs)(
5554
5625
  import_themes23.Flex,
5555
5626
  {
5556
5627
  align: "center",
@@ -5564,9 +5635,9 @@ function AnalyzingState() {
5564
5635
  textAlign: "center"
5565
5636
  },
5566
5637
  children: [
5567
- /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(Heading2, { size: { initial: "4", md: "5" }, weight: "bold", children: "AI \uBD84\uC11D \uC911\uC785\uB2C8\uB2E4" }),
5568
- /* @__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." }) }),
5569
- /* @__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 }) })
5638
+ /* @__PURE__ */ (0, import_jsx_runtime132.jsx)(Heading2, { size: { initial: "4", md: "5" }, weight: "bold", children: "AI \uBD84\uC11D \uC911\uC785\uB2C8\uB2E4" }),
5639
+ /* @__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." }) }),
5640
+ /* @__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 }) })
5570
5641
  ]
5571
5642
  }
5572
5643
  );
@@ -5592,11 +5663,11 @@ function RpSessionDetail({
5592
5663
  const hasScript = script !== null && script !== void 0;
5593
5664
  const isAnalyzing = detail.status === "analyzing";
5594
5665
  if (isLoading) {
5595
- return /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(RpSessionDetailSkeleton, {});
5666
+ return /* @__PURE__ */ (0, import_jsx_runtime132.jsx)(RpSessionDetailSkeleton, {});
5596
5667
  }
5597
- return /* @__PURE__ */ (0, import_jsx_runtime130.jsxs)(import_themes7.Box, { py: "6", children: [
5598
- /* @__PURE__ */ (0, import_jsx_runtime130.jsxs)(import_themes23.Flex, { direction: "column", gap: { initial: "5", md: "7" }, children: [
5599
- /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
5668
+ return /* @__PURE__ */ (0, import_jsx_runtime132.jsxs)(import_themes7.Box, { py: "6", children: [
5669
+ /* @__PURE__ */ (0, import_jsx_runtime132.jsxs)(import_themes23.Flex, { direction: "column", gap: { initial: "5", md: "7" }, children: [
5670
+ /* @__PURE__ */ (0, import_jsx_runtime132.jsx)(
5600
5671
  Header,
5601
5672
  {
5602
5673
  detail,
@@ -5607,7 +5678,7 @@ function RpSessionDetail({
5607
5678
  onResolveMediaUrl
5608
5679
  }
5609
5680
  ),
5610
- isAnalyzing ? /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(AnalyzingState, {}) : /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
5681
+ isAnalyzing ? /* @__PURE__ */ (0, import_jsx_runtime132.jsx)(AnalyzingState, {}) : /* @__PURE__ */ (0, import_jsx_runtime132.jsx)(
5611
5682
  Content9,
5612
5683
  {
5613
5684
  detail,
@@ -5618,7 +5689,7 @@ function RpSessionDetail({
5618
5689
  }
5619
5690
  )
5620
5691
  ] }),
5621
- /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
5692
+ /* @__PURE__ */ (0, import_jsx_runtime132.jsx)(
5622
5693
  SessionReplayDialog,
5623
5694
  {
5624
5695
  detail,