@tipp/ui 2.10.0 → 2.10.2

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 (97) hide show
  1. package/dist/app/index.js +8 -8
  2. package/dist/app/platform/edit-coaching-time.js +8 -8
  3. package/dist/app/platform/edit-service-type.js +8 -8
  4. package/dist/app/platform/goal-manage-card-edit.js +8 -8
  5. package/dist/app/platform/on-offline-radio-card.js +8 -8
  6. package/dist/app/platform/reservation-card.js +8 -8
  7. package/dist/app/platform/session-card.js +8 -8
  8. package/dist/app/roleplay/index.cjs +362 -428
  9. package/dist/app/roleplay/index.cjs.map +1 -1
  10. package/dist/app/roleplay/index.js +19 -18
  11. package/dist/app/roleplay/parts/content.cjs +281 -290
  12. package/dist/app/roleplay/parts/content.cjs.map +1 -1
  13. package/dist/app/roleplay/parts/content.js +15 -14
  14. package/dist/app/roleplay/parts/header.cjs +1 -1
  15. package/dist/app/roleplay/parts/header.cjs.map +1 -1
  16. package/dist/app/roleplay/parts/header.js +1 -1
  17. package/dist/app/roleplay/parts/score-summary.cjs +32 -46
  18. package/dist/app/roleplay/parts/score-summary.cjs.map +1 -1
  19. package/dist/app/roleplay/parts/score-summary.js +2 -1
  20. package/dist/app/roleplay/parts/score-trend-section.cjs +16 -15
  21. package/dist/app/roleplay/parts/score-trend-section.cjs.map +1 -1
  22. package/dist/app/roleplay/parts/score-trend-section.js +9 -10
  23. package/dist/app/roleplay/parts/script-transcript.cjs +29 -37
  24. package/dist/app/roleplay/parts/script-transcript.cjs.map +1 -1
  25. package/dist/app/roleplay/parts/script-transcript.js +2 -1
  26. package/dist/app/roleplay/parts/section-nav.cjs +3 -2
  27. package/dist/app/roleplay/parts/section-nav.cjs.map +1 -1
  28. package/dist/app/roleplay/parts/section-nav.js +1 -1
  29. package/dist/app/roleplay/parts/session-replay-dialog.cjs +39 -47
  30. package/dist/app/roleplay/parts/session-replay-dialog.cjs.map +1 -1
  31. package/dist/app/roleplay/parts/session-replay-dialog.js +3 -2
  32. package/dist/app/roleplay/parts/speech-share-bar.cjs +2171 -0
  33. package/dist/app/roleplay/parts/speech-share-bar.cjs.map +1 -0
  34. package/dist/app/roleplay/parts/speech-share-bar.d.cts +9 -0
  35. package/dist/app/roleplay/parts/speech-share-bar.d.ts +9 -0
  36. package/dist/app/roleplay/parts/speech-share-bar.js +96 -0
  37. package/dist/app/roleplay/parts/speech-share-bar.js.map +1 -0
  38. package/dist/app/roleplay/parts/step-summary.cjs +2 -2
  39. package/dist/app/roleplay/parts/step-summary.cjs.map +1 -1
  40. package/dist/app/roleplay/parts/step-summary.js +1 -1
  41. package/dist/app/roleplay/rp-session-detail.cjs +362 -428
  42. package/dist/app/roleplay/rp-session-detail.cjs.map +1 -1
  43. package/dist/app/roleplay/rp-session-detail.js +19 -18
  44. package/dist/{chunk-6YIKOYBQ.js → chunk-2XDAK4B7.js} +5 -73
  45. package/dist/chunk-2XDAK4B7.js.map +1 -0
  46. package/dist/{chunk-U2EAXN3Y.js → chunk-A32HLL53.js} +4 -4
  47. package/dist/{chunk-3UGBMKSQ.js → chunk-AS3JVRQ3.js} +2 -2
  48. package/dist/{chunk-NKW6BO5R.js → chunk-DIISQDYA.js} +4 -3
  49. package/dist/chunk-DIISQDYA.js.map +1 -0
  50. package/dist/{chunk-N242VJOP.js → chunk-IIZ7I7NS.js} +5 -5
  51. package/dist/{chunk-2TOASXPK.js → chunk-MD64AUR6.js} +8 -8
  52. package/dist/chunk-MD64AUR6.js.map +1 -0
  53. package/dist/{chunk-LRNO4W2P.js → chunk-NSDVLCCW.js} +5 -5
  54. package/dist/{chunk-EHDUKUML.js → chunk-RNGEVYY5.js} +12 -72
  55. package/dist/chunk-RNGEVYY5.js.map +1 -0
  56. package/dist/{chunk-XM4GWPXC.js → chunk-RZW6FVML.js} +18 -12
  57. package/dist/chunk-RZW6FVML.js.map +1 -0
  58. package/dist/{chunk-T7LKMJVA.js → chunk-SZAU7YP3.js} +4 -4
  59. package/dist/{chunk-O332K3SW.js → chunk-UK3LP7VH.js} +2 -2
  60. package/dist/{chunk-QMAINJ4G.js → chunk-VM2PEQLQ.js} +2 -2
  61. package/dist/chunk-VM2PEQLQ.js.map +1 -0
  62. package/dist/chunk-W72CR2TG.js +71 -0
  63. package/dist/chunk-W72CR2TG.js.map +1 -0
  64. package/dist/{chunk-EBFQFOUQ.js → chunk-WVY3C64M.js} +3 -3
  65. package/dist/chunk-WVY3C64M.js.map +1 -0
  66. package/dist/{chunk-SOKGYD5B.js → chunk-YFR3HXSV.js} +2 -2
  67. package/dist/index.js +8 -8
  68. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/index.js +3 -3
  69. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-body.js +2 -2
  70. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/index.js +5 -5
  71. package/dist/molecules/curriculumV2/CurriculumContents/curriculum-review.js +6 -6
  72. package/dist/molecules/curriculumV2/CurriculumContents/index.js +8 -8
  73. package/dist/molecules/curriculumV2/index.js +8 -8
  74. package/dist/molecules/index.js +8 -8
  75. package/package.json +1 -1
  76. package/src/app/roleplay/parts/content.tsx +3 -3
  77. package/src/app/roleplay/parts/header.tsx +1 -1
  78. package/src/app/roleplay/parts/score-summary.tsx +4 -57
  79. package/src/app/roleplay/parts/score-trend-section.tsx +19 -9
  80. package/src/app/roleplay/parts/script-transcript.tsx +9 -64
  81. package/src/app/roleplay/parts/section-nav.tsx +3 -2
  82. package/src/app/roleplay/parts/speech-share-bar.tsx +54 -0
  83. package/src/app/roleplay/parts/step-summary.tsx +2 -4
  84. package/dist/chunk-2TOASXPK.js.map +0 -1
  85. package/dist/chunk-6YIKOYBQ.js.map +0 -1
  86. package/dist/chunk-EBFQFOUQ.js.map +0 -1
  87. package/dist/chunk-EHDUKUML.js.map +0 -1
  88. package/dist/chunk-NKW6BO5R.js.map +0 -1
  89. package/dist/chunk-QMAINJ4G.js.map +0 -1
  90. package/dist/chunk-XM4GWPXC.js.map +0 -1
  91. /package/dist/{chunk-U2EAXN3Y.js.map → chunk-A32HLL53.js.map} +0 -0
  92. /package/dist/{chunk-3UGBMKSQ.js.map → chunk-AS3JVRQ3.js.map} +0 -0
  93. /package/dist/{chunk-N242VJOP.js.map → chunk-IIZ7I7NS.js.map} +0 -0
  94. /package/dist/{chunk-LRNO4W2P.js.map → chunk-NSDVLCCW.js.map} +0 -0
  95. /package/dist/{chunk-T7LKMJVA.js.map → chunk-SZAU7YP3.js.map} +0 -0
  96. /package/dist/{chunk-O332K3SW.js.map → chunk-UK3LP7VH.js.map} +0 -0
  97. /package/dist/{chunk-SOKGYD5B.js.map → chunk-YFR3HXSV.js.map} +0 -0
@@ -2320,11 +2320,6 @@ function stepCode(step) {
2320
2320
  }
2321
2321
  return step.key.split("_")[0].slice(0, 4).toUpperCase();
2322
2322
  }
2323
- function formatDate(iso) {
2324
- const d = new Date(iso);
2325
- if (Number.isNaN(d.getTime())) return iso;
2326
- return (0, import_date_fns.format)(d, "M/d HH:mm");
2327
- }
2328
2323
  var SPEECH_OVERTALK_THRESHOLD = 40;
2329
2324
 
2330
2325
  // src/app/roleplay/parts/analysis-section.tsx
@@ -2468,9 +2463,11 @@ function CoachingPanel({ skills }) {
2468
2463
  )) }) });
2469
2464
  }
2470
2465
 
2471
- // src/app/roleplay/parts/score-summary.tsx
2466
+ // src/app/roleplay/parts/speech-share-bar.tsx
2472
2467
  var import_jsx_runtime63 = require("react/jsx-runtime");
2473
- function SpeechShareBar({ share }) {
2468
+ function SpeechShareBar({
2469
+ share
2470
+ }) {
2474
2471
  const isOvertalking = share.userPct > SPEECH_OVERTALK_THRESHOLD;
2475
2472
  return /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(import_themes7.Box, { children: [
2476
2473
  /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(import_themes23.Flex, { align: "center", justify: "between", mb: "1", children: [
@@ -2479,10 +2476,9 @@ function SpeechShareBar({ share }) {
2479
2476
  {
2480
2477
  as: "span",
2481
2478
  style: {
2482
- fontSize: "0.75rem",
2483
2479
  color: isOvertalking ? "var(--red-11)" : "var(--accent-11)"
2484
2480
  },
2485
- variant: "body",
2481
+ variant: "caption",
2486
2482
  weight: "medium",
2487
2483
  children: [
2488
2484
  "\uB0B4 \uBC1C\uD654\uB7C9 ",
@@ -2491,20 +2487,11 @@ function SpeechShareBar({ share }) {
2491
2487
  ]
2492
2488
  }
2493
2489
  ),
2494
- /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(
2495
- Typo,
2496
- {
2497
- as: "span",
2498
- color: "gray",
2499
- style: { fontSize: "0.75rem" },
2500
- variant: "body",
2501
- children: [
2502
- "\uC0C1\uB300 ",
2503
- share.partnerPct,
2504
- "%"
2505
- ]
2506
- }
2507
- )
2490
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(Typo, { as: "span", color: "gray", variant: "caption", children: [
2491
+ "\uC0C1\uB300 ",
2492
+ share.partnerPct,
2493
+ "%"
2494
+ ] })
2508
2495
  ] }),
2509
2496
  /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
2510
2497
  import_themes23.Flex,
@@ -2526,18 +2513,12 @@ function SpeechShareBar({ share }) {
2526
2513
  )
2527
2514
  }
2528
2515
  ),
2529
- isOvertalking ? /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
2530
- Typo,
2531
- {
2532
- as: "p",
2533
- mt: "1",
2534
- style: { fontSize: "0.75rem", color: "var(--red-11)" },
2535
- variant: "body",
2536
- children: "\uC0C1\uB300\uC758 \uB9D0\uC744 \uB354 \uB4E3\uACE0 \uC9C8\uBB38\xB7\uACBD\uCCAD\uC758 \uBE44\uC911\uC744 \uB192\uC5EC \uBCF4\uC138\uC694"
2537
- }
2538
- ) : null
2516
+ 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
2539
2517
  ] });
2540
2518
  }
2519
+
2520
+ // src/app/roleplay/parts/score-summary.tsx
2521
+ var import_jsx_runtime64 = require("react/jsx-runtime");
2541
2522
  function ScoreSummary({
2542
2523
  detail,
2543
2524
  report,
@@ -2546,18 +2527,18 @@ function ScoreSummary({
2546
2527
  var _a;
2547
2528
  const scoreValue = (_a = detail.totalScore) != null ? _a : report.totalScore;
2548
2529
  const comment = report.comment;
2549
- return /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(
2530
+ return /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(
2550
2531
  import_themes24.Grid,
2551
2532
  {
2552
2533
  align: "start",
2553
2534
  columns: comment ? { initial: "1", md: "minmax(0, 240px) 1fr" } : "1",
2554
2535
  gap: "5",
2555
2536
  children: [
2556
- /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(Card, { variant: "surface", children: [
2557
- /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(import_themes23.Flex, { align: "center", direction: "column", gap: "2", py: "3", children: [
2558
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(Typo, { as: "p", color: "gray", variant: "body", weight: "medium", children: "\uC885\uD569 \uC810\uC218" }),
2559
- /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(import_themes23.Flex, { align: "baseline", gap: "1", children: [
2560
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
2537
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(Card, { variant: "surface", children: [
2538
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(import_themes23.Flex, { align: "center", direction: "column", gap: "2", py: "3", children: [
2539
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(Typo, { as: "p", color: "gray", variant: "body", weight: "medium", children: "\uC885\uD569 \uC810\uC218" }),
2540
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(import_themes23.Flex, { align: "baseline", gap: "1", children: [
2541
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
2561
2542
  Typo,
2562
2543
  {
2563
2544
  as: "span",
@@ -2571,18 +2552,18 @@ function ScoreSummary({
2571
2552
  children: scoreValue != null ? scoreValue : "\u2014"
2572
2553
  }
2573
2554
  ),
2574
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(Typo, { as: "span", color: "gray", mono: true, variant: "subtitle", children: "/100" })
2555
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(Typo, { as: "span", color: "gray", mono: true, variant: "subtitle", children: "/100" })
2575
2556
  ] })
2576
2557
  ] }),
2577
- speechShare ? /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(import_jsx_runtime63.Fragment, { children: [
2578
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_themes40.Separator, { my: "3", size: "4" }),
2579
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(SpeechShareBar, { share: speechShare })
2558
+ speechShare ? /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(import_jsx_runtime64.Fragment, { children: [
2559
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_themes40.Separator, { my: "3", size: "4" }),
2560
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(SpeechShareBar, { share: speechShare })
2580
2561
  ] }) : null
2581
2562
  ] }),
2582
- comment ? /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(import_themes23.Flex, { direction: "column", gap: "3", children: [
2583
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(Typo, { as: "p", variant: "body", weight: "medium", children: "\uC885\uD569 \uBD84\uC11D" }),
2584
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_themes7.Box, { style: { maxWidth: "65ch" }, children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(Typo, { as: "p", variant: "body", children: comment }) }),
2585
- report.deduction ? /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(
2563
+ comment ? /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(import_themes23.Flex, { direction: "column", gap: "3", children: [
2564
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(Typo, { as: "p", variant: "body", weight: "medium", children: "\uC885\uD569 \uBD84\uC11D" }),
2565
+ /* @__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 }) }),
2566
+ report.deduction ? /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(
2586
2567
  import_themes7.Box,
2587
2568
  {
2588
2569
  pl: "3",
@@ -2594,12 +2575,12 @@ function ScoreSummary({
2594
2575
  borderRadius: "var(--radius-2)"
2595
2576
  },
2596
2577
  children: [
2597
- /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(
2578
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(
2598
2579
  Typo,
2599
2580
  {
2600
2581
  as: "p",
2582
+ color: "amber",
2601
2583
  mono: true,
2602
- style: { color: "var(--amber-11)" },
2603
2584
  variant: "body",
2604
2585
  weight: "medium",
2605
2586
  children: [
@@ -2609,11 +2590,11 @@ function ScoreSummary({
2609
2590
  ]
2610
2591
  }
2611
2592
  ),
2612
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_themes7.Box, { mt: "1", style: { maxWidth: "65ch" }, children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
2593
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_themes7.Box, { mt: "1", style: { maxWidth: "65ch" }, children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
2613
2594
  Typo,
2614
2595
  {
2615
2596
  as: "p",
2616
- style: { color: "var(--amber-11)" },
2597
+ color: "amber",
2617
2598
  variant: "body",
2618
2599
  children: report.deduction.basis
2619
2600
  }
@@ -2629,6 +2610,7 @@ function ScoreSummary({
2629
2610
 
2630
2611
  // src/app/roleplay/parts/score-trend-section.tsx
2631
2612
  var import_react68 = require("react");
2613
+ var import_date_fns4 = require("date-fns");
2632
2614
 
2633
2615
  // src/molecules/expand-table/index.tsx
2634
2616
  var import_react_table2 = require("@tanstack/react-table");
@@ -2638,7 +2620,7 @@ var import_themes53 = require("@radix-ui/themes");
2638
2620
  // src/molecules/expand-table/row.tsx
2639
2621
  var import_react_table = require("@tanstack/react-table");
2640
2622
  var import_react41 = require("react");
2641
- var import_jsx_runtime64 = require("react/jsx-runtime");
2623
+ var import_jsx_runtime65 = require("react/jsx-runtime");
2642
2624
  function Row(props) {
2643
2625
  const { row, ExpandComp, gridTemplateColumns, getRowStyle, getCellStyle } = props;
2644
2626
  const [open, setOpen] = (0, import_react41.useState)(false);
@@ -2657,8 +2639,8 @@ function Row(props) {
2657
2639
  }
2658
2640
  return baseCls.join(" ");
2659
2641
  }, [ExpandComp, props.onRowClick]);
2660
- return /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: rowClassName, children: [
2661
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
2642
+ return /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: rowClassName, children: [
2643
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
2662
2644
  "button",
2663
2645
  {
2664
2646
  className: "tr",
@@ -2671,7 +2653,7 @@ function Row(props) {
2671
2653
  var _a, _b, _c;
2672
2654
  const autoSize = (_a = cell.column.columnDef.meta) == null ? void 0 : _a.autoSize;
2673
2655
  const justifyContent = ((_b = cell.column.columnDef.meta) == null ? void 0 : _b.align) || props.defaultAlign;
2674
- return /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(
2656
+ return /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(
2675
2657
  "div",
2676
2658
  {
2677
2659
  className: "td",
@@ -2682,7 +2664,7 @@ function Row(props) {
2682
2664
  }, (getCellStyle == null ? void 0 : getCellStyle(row.original)) || {}),
2683
2665
  children: [
2684
2666
  (0, import_react_table.flexRender)(cell.column.columnDef.cell, cell.getContext()),
2685
- ((_c = cell.column.columnDef.meta) == null ? void 0 : _c.OpenBtn) ? /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
2667
+ ((_c = cell.column.columnDef.meta) == null ? void 0 : _c.OpenBtn) ? /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
2686
2668
  cell.column.columnDef.meta.OpenBtn,
2687
2669
  {
2688
2670
  data: row.original,
@@ -2698,12 +2680,12 @@ function Row(props) {
2698
2680
  },
2699
2681
  `tr_${row.id}`
2700
2682
  ),
2701
- ExpandComp ? /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(Collapse, { open, children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("div", { className: "expand-comp-wrapper", children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(ExpandComp, { row }) }) }) : null
2683
+ 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
2702
2684
  ] }, `tr-wrapper_${row.id}`);
2703
2685
  }
2704
2686
 
2705
2687
  // src/molecules/expand-table/index.tsx
2706
- var import_jsx_runtime65 = require("react/jsx-runtime");
2688
+ var import_jsx_runtime66 = require("react/jsx-runtime");
2707
2689
  var sortButtonColorMapper = {
2708
2690
  card: {
2709
2691
  selected: "var(--iris-10)",
@@ -2784,7 +2766,7 @@ function ExpandTable(props) {
2784
2766
  const helpCompRender = (0, import_react42.useCallback)(
2785
2767
  (rowLength) => {
2786
2768
  if (isLoading) {
2787
- return /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
2769
+ return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
2788
2770
  import_themes23.Flex,
2789
2771
  {
2790
2772
  align: "center",
@@ -2792,12 +2774,12 @@ function ExpandTable(props) {
2792
2774
  justify: "center",
2793
2775
  p: "5",
2794
2776
  width: "100%",
2795
- children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_themes50.Spinner, {})
2777
+ children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_themes50.Spinner, {})
2796
2778
  }
2797
2779
  );
2798
2780
  }
2799
2781
  if (rowLength === 0) {
2800
- return /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("div", { className: "tr", children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_themes23.Flex, { align: "center", justify: "center", children: placeholder || /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(Typo, { color: "gray", mb: "6", mt: "6", variant: "body", children: "\uB370\uC774\uD130\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4" }) }) }, "expand_placeholder");
2782
+ 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");
2801
2783
  }
2802
2784
  return null;
2803
2785
  },
@@ -2807,9 +2789,9 @@ function ExpandTable(props) {
2807
2789
  if (!data) return 0;
2808
2790
  return Math.ceil(data.length / pageSize);
2809
2791
  }, [data, pageSize]);
2810
- return /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: `expand-table-wrapper ${variant}${slim ? " slim" : ""}`, children: [
2811
- /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "expand-table", style: tableStyle, children: [
2812
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("div", { className: "thead", children: getHeaderGroups().map((headerGroup) => /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
2792
+ return /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: `expand-table-wrapper ${variant}${slim ? " slim" : ""}`, children: [
2793
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "expand-table", style: tableStyle, children: [
2794
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("div", { className: "thead", children: getHeaderGroups().map((headerGroup) => /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
2813
2795
  "div",
2814
2796
  {
2815
2797
  className: "tr",
@@ -2820,36 +2802,36 @@ function ExpandTable(props) {
2820
2802
  const sortedState = header.column.getIsSorted();
2821
2803
  const justifyContent = ((_a = header.column.columnDef.meta) == null ? void 0 : _a.align) || defaultAlign;
2822
2804
  if (sortable) {
2823
- return /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("div", { className: `${justifyContent} th`, children: /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(
2805
+ return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("div", { className: `${justifyContent} th`, children: /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(
2824
2806
  "button",
2825
2807
  {
2826
2808
  onClick: header.column.getToggleSortingHandler(),
2827
2809
  style: { cursor: "pointer" },
2828
2810
  type: "button",
2829
2811
  children: [
2830
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(Typo, { as: "div", variant: "body", children: (0, import_react_table2.flexRender)(
2812
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(Typo, { as: "div", variant: "body", children: (0, import_react_table2.flexRender)(
2831
2813
  header.column.columnDef.header,
2832
2814
  header.getContext()
2833
2815
  ) }),
2834
- /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(
2816
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(
2835
2817
  import_themes23.Flex,
2836
2818
  {
2837
2819
  direction: "column",
2838
2820
  style: { marginLeft: "var(--space-2)" },
2839
2821
  children: [
2840
- sortedState === false && /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
2822
+ sortedState === false && /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
2841
2823
  TriangleArrowDownIcon,
2842
2824
  {
2843
2825
  color: sortButtonColorMapper[variant].unselected
2844
2826
  }
2845
2827
  ),
2846
- sortedState === "asc" && /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
2828
+ sortedState === "asc" && /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
2847
2829
  TriangleArrowUpIcon,
2848
2830
  {
2849
2831
  color: sortButtonColorMapper[variant].selected
2850
2832
  }
2851
2833
  ),
2852
- sortedState === "desc" && /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
2834
+ sortedState === "desc" && /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
2853
2835
  TriangleArrowDownIcon,
2854
2836
  {
2855
2837
  color: sortButtonColorMapper[variant].selected
@@ -2862,7 +2844,7 @@ function ExpandTable(props) {
2862
2844
  }
2863
2845
  ) }, header.id);
2864
2846
  }
2865
- return /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("div", { className: `${justifyContent} th`, children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(Typo, { as: "div", variant: "body", children: (0, import_react_table2.flexRender)(
2847
+ 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)(
2866
2848
  header.column.columnDef.header,
2867
2849
  header.getContext()
2868
2850
  ) }) }, header.id);
@@ -2870,8 +2852,8 @@ function ExpandTable(props) {
2870
2852
  },
2871
2853
  headerGroup.id
2872
2854
  )) }),
2873
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_themes53.ScrollArea, { className: "tbody", children: helpCompRender(rowModels.rows.length) || rowModels.rows.map((row) => {
2874
- return /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
2855
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_themes53.ScrollArea, { className: "tbody", children: helpCompRender(rowModels.rows.length) || rowModels.rows.map((row) => {
2856
+ return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
2875
2857
  Row,
2876
2858
  {
2877
2859
  ExpandComp,
@@ -2886,7 +2868,7 @@ function ExpandTable(props) {
2886
2868
  );
2887
2869
  }) })
2888
2870
  ] }),
2889
- showPagination ? /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_themes23.Flex, { justify: "end", pt: "4", width: "100%", children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
2871
+ showPagination ? /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_themes23.Flex, { justify: "end", pt: "4", width: "100%", children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
2890
2872
  Pagination,
2891
2873
  {
2892
2874
  count: pageCount,
@@ -2899,13 +2881,13 @@ function ExpandTable(props) {
2899
2881
  }
2900
2882
 
2901
2883
  // src/molecules/navigation.tsx
2902
- var import_jsx_runtime66 = require("react/jsx-runtime");
2884
+ var import_jsx_runtime67 = require("react/jsx-runtime");
2903
2885
 
2904
2886
  // src/molecules/date-picker/index.tsx
2905
2887
  var import_react43 = require("react");
2906
2888
  var import_react_datepicker = __toESM(require("react-datepicker"), 1);
2907
2889
  var import_locale = require("date-fns/locale");
2908
- var import_jsx_runtime67 = require("react/jsx-runtime");
2890
+ var import_jsx_runtime68 = require("react/jsx-runtime");
2909
2891
  var DatePicker = (0, import_react43.forwardRef)(
2910
2892
  (props, ref) => {
2911
2893
  const _a = props, { fullWidth } = _a, rest = __objRest(_a, ["fullWidth"]);
@@ -2936,7 +2918,7 @@ var DatePicker = (0, import_react43.forwardRef)(
2936
2918
  setIsMonthDropdownOpen
2937
2919
  }));
2938
2920
  }, [isMonthDropdownOpen, isYearDropdownOpen, props]);
2939
- return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_themes23.Flex, { p: "0", width: "100%", children: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
2921
+ return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(import_themes23.Flex, { p: "0", width: "100%", children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
2940
2922
  import_react_datepicker.default,
2941
2923
  __spreadProps(__spreadValues({
2942
2924
  dateFormat: "yyyy/MM/dd h:mm aa",
@@ -2984,19 +2966,19 @@ function DropdownSelector({
2984
2966
  });
2985
2967
  }
2986
2968
  }, [isOpen]);
2987
- return /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(Popover.Root, { modal: true, onOpenChange, open: isOpen, children: [
2988
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(Popover.Trigger, { children: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(Button, { className: "react-datepicker_dropdown_header", variant: "ghost", children: /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(Heading2, { variant: "heading4", weight: "regular", children: [
2969
+ return /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)(Popover.Root, { modal: true, onOpenChange, open: isOpen, children: [
2970
+ /* @__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: [
2989
2971
  selectedValue,
2990
2972
  suffix
2991
2973
  ] }) }) }),
2992
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(Popover.Content, { side: "bottom", children: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
2974
+ /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(Popover.Content, { side: "bottom", children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
2993
2975
  import_themes7.Box,
2994
2976
  {
2995
2977
  maxHeight: "200px",
2996
2978
  overflowY: "auto",
2997
2979
  ref: scrollContainerRef,
2998
2980
  style: { scrollbarWidth: "none" },
2999
- children: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_themes23.Flex, { direction: "column", gap: "1", children: options.map((item) => /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
2981
+ children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(import_themes23.Flex, { direction: "column", gap: "1", children: options.map((item) => /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
3000
2982
  Button,
3001
2983
  {
3002
2984
  className: "react-datepicker_dropdown_item",
@@ -3010,7 +2992,7 @@ function DropdownSelector({
3010
2992
  e.preventDefault();
3011
2993
  },
3012
2994
  variant: "transparent",
3013
- children: /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(Typo, { weight: item === selectedValue ? "bold" : void 0, children: [
2995
+ children: /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)(Typo, { weight: item === selectedValue ? "bold" : void 0, children: [
3014
2996
  item,
3015
2997
  suffix
3016
2998
  ] })
@@ -3041,8 +3023,8 @@ var getRenderCustomHeader = (props) => {
3041
3023
  } = props;
3042
3024
  const year = date ? new Date(date).getFullYear() : "-";
3043
3025
  const month = date ? new Date(date).getMonth() + 1 : "-";
3044
- return /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(import_themes23.Flex, { align: "center", justify: "between", pl: "2", pr: "2", children: [
3045
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
3026
+ return /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)(import_themes23.Flex, { align: "center", justify: "between", pl: "2", pr: "2", children: [
3027
+ /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
3046
3028
  IconButton,
3047
3029
  {
3048
3030
  className: "react-datepicker_dropdown_header",
@@ -3050,11 +3032,11 @@ var getRenderCustomHeader = (props) => {
3050
3032
  onClick: decreaseMonth,
3051
3033
  type: "button",
3052
3034
  variant: "ghost",
3053
- children: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_react_icons2.ChevronLeftIcon, {})
3035
+ children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(import_react_icons2.ChevronLeftIcon, {})
3054
3036
  }
3055
3037
  ),
3056
- /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(import_themes23.Flex, { gap: "3", children: [
3057
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
3038
+ /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)(import_themes23.Flex, { gap: "3", children: [
3039
+ /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
3058
3040
  DropdownSelector,
3059
3041
  {
3060
3042
  isOpen: isYearDropdownOpen,
@@ -3068,7 +3050,7 @@ var getRenderCustomHeader = (props) => {
3068
3050
  suffix: "\uB144"
3069
3051
  }
3070
3052
  ),
3071
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
3053
+ /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
3072
3054
  DropdownSelector,
3073
3055
  {
3074
3056
  isOpen: isMonthDropdownOpen,
@@ -3083,7 +3065,7 @@ var getRenderCustomHeader = (props) => {
3083
3065
  }
3084
3066
  )
3085
3067
  ] }),
3086
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
3068
+ /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
3087
3069
  IconButton,
3088
3070
  {
3089
3071
  className: "react-datepicker_dropdown_header",
@@ -3091,7 +3073,7 @@ var getRenderCustomHeader = (props) => {
3091
3073
  onClick: increaseMonth,
3092
3074
  type: "button",
3093
3075
  variant: "ghost",
3094
- children: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_react_icons2.ChevronRightIcon, {})
3076
+ children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(import_react_icons2.ChevronRightIcon, {})
3095
3077
  }
3096
3078
  )
3097
3079
  ] });
@@ -3102,12 +3084,12 @@ var getRenderCustomHeader = (props) => {
3102
3084
  // src/molecules/dot-navigation.tsx
3103
3085
  var import_react44 = require("react");
3104
3086
  var import_react_icons3 = require("@radix-ui/react-icons");
3105
- var import_jsx_runtime68 = require("react/jsx-runtime");
3087
+ var import_jsx_runtime69 = require("react/jsx-runtime");
3106
3088
 
3107
3089
  // src/molecules/stepper.tsx
3108
3090
  var import_react45 = require("react");
3109
3091
  var import_themes54 = require("@radix-ui/themes");
3110
- var import_jsx_runtime69 = require("react/jsx-runtime");
3092
+ var import_jsx_runtime70 = require("react/jsx-runtime");
3111
3093
  var StepContext = (0, import_react45.createContext)({
3112
3094
  active: false,
3113
3095
  completed: false,
@@ -3117,20 +3099,20 @@ var StepContext = (0, import_react45.createContext)({
3117
3099
  // src/molecules/tag-selector.tsx
3118
3100
  var import_react46 = require("react");
3119
3101
  var import_react_icons4 = require("@radix-ui/react-icons");
3120
- var import_jsx_runtime70 = require("react/jsx-runtime");
3102
+ var import_jsx_runtime71 = require("react/jsx-runtime");
3121
3103
 
3122
3104
  // src/molecules/learning-post.tsx
3123
- var import_jsx_runtime71 = require("react/jsx-runtime");
3105
+ var import_jsx_runtime72 = require("react/jsx-runtime");
3124
3106
 
3125
3107
  // src/molecules/force-refresh.tsx
3126
3108
  var import_react_icons5 = require("@radix-ui/react-icons");
3127
- var import_jsx_runtime72 = require("react/jsx-runtime");
3109
+ var import_jsx_runtime73 = require("react/jsx-runtime");
3128
3110
 
3129
3111
  // src/molecules/date-picker/date-picker-button.tsx
3130
3112
  var import_react47 = require("react");
3131
3113
  var import_date_fns2 = require("date-fns");
3132
3114
  var import_clsx29 = require("clsx");
3133
- var import_jsx_runtime73 = require("react/jsx-runtime");
3115
+ var import_jsx_runtime74 = require("react/jsx-runtime");
3134
3116
 
3135
3117
  // src/molecules/time-select.tsx
3136
3118
  var import_react48 = require("react");
@@ -3157,34 +3139,34 @@ for (const opt of AI_CALLOUT_ICON_OPTIONS) {
3157
3139
  }
3158
3140
 
3159
3141
  // src/molecules/time-select.tsx
3160
- var import_jsx_runtime74 = require("react/jsx-runtime");
3142
+ var import_jsx_runtime75 = require("react/jsx-runtime");
3161
3143
 
3162
3144
  // src/molecules/radio-button-card.tsx
3163
3145
  var import_react49 = require("react");
3164
- var import_jsx_runtime75 = require("react/jsx-runtime");
3146
+ var import_jsx_runtime76 = require("react/jsx-runtime");
3165
3147
  var RadioCardContext = (0, import_react49.createContext)({});
3166
3148
 
3167
3149
  // src/molecules/download-card.tsx
3168
3150
  var import_react_icons6 = require("@radix-ui/react-icons");
3169
- var import_jsx_runtime76 = require("react/jsx-runtime");
3151
+ var import_jsx_runtime77 = require("react/jsx-runtime");
3170
3152
 
3171
3153
  // src/molecules/ghost-post.tsx
3172
- var import_jsx_runtime77 = require("react/jsx-runtime");
3154
+ var import_jsx_runtime78 = require("react/jsx-runtime");
3173
3155
 
3174
3156
  // src/molecules/curriculumV2/curriculum-context.tsx
3175
3157
  var import_react50 = require("react");
3176
- var import_jsx_runtime78 = require("react/jsx-runtime");
3158
+ var import_jsx_runtime79 = require("react/jsx-runtime");
3177
3159
  var CurriculumContext = (0, import_react50.createContext)(
3178
3160
  void 0
3179
3161
  );
3180
3162
 
3181
3163
  // src/molecules/curriculumV2/curriculum-sub-nav.tsx
3182
3164
  var import_react51 = require("react");
3183
- var import_jsx_runtime79 = require("react/jsx-runtime");
3165
+ var import_jsx_runtime80 = require("react/jsx-runtime");
3184
3166
 
3185
3167
  // src/molecules/curriculumV2/CurriculumContents/curriculum-video.tsx
3186
3168
  var import_react52 = require("react");
3187
- var import_jsx_runtime80 = require("react/jsx-runtime");
3169
+ var import_jsx_runtime81 = require("react/jsx-runtime");
3188
3170
 
3189
3171
  // src/molecules/curriculumV2/CurriculumContents/curriculum-review.tsx
3190
3172
  var import_react55 = require("react");
@@ -3195,88 +3177,88 @@ var import_react53 = require("react");
3195
3177
  var import_formik = require("formik");
3196
3178
  var import_lodash_es = require("lodash-es");
3197
3179
  var Yup = __toESM(require("yup"), 1);
3198
- var import_jsx_runtime81 = require("react/jsx-runtime");
3180
+ var import_jsx_runtime82 = require("react/jsx-runtime");
3199
3181
  var CurriculumReviewContext = (0, import_react53.createContext)(void 0);
3200
3182
 
3201
3183
  // src/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/start-review.tsx
3202
- var import_jsx_runtime82 = require("react/jsx-runtime");
3184
+ var import_jsx_runtime83 = require("react/jsx-runtime");
3203
3185
 
3204
3186
  // src/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/complete-review.tsx
3205
- var import_jsx_runtime83 = require("react/jsx-runtime");
3187
+ var import_jsx_runtime84 = require("react/jsx-runtime");
3206
3188
 
3207
3189
  // src/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-layout.tsx
3208
- var import_jsx_runtime84 = require("react/jsx-runtime");
3190
+ var import_jsx_runtime85 = require("react/jsx-runtime");
3209
3191
 
3210
3192
  // src/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-header.tsx
3211
- var import_jsx_runtime85 = require("react/jsx-runtime");
3193
+ var import_jsx_runtime86 = require("react/jsx-runtime");
3212
3194
 
3213
3195
  // src/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-footer.tsx
3214
- var import_jsx_runtime86 = require("react/jsx-runtime");
3196
+ var import_jsx_runtime87 = require("react/jsx-runtime");
3215
3197
 
3216
3198
  // src/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-radio.tsx
3217
3199
  var import_react54 = require("react");
3218
3200
 
3219
3201
  // src/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-comp.tsx
3220
- var import_jsx_runtime87 = require("react/jsx-runtime");
3202
+ var import_jsx_runtime88 = require("react/jsx-runtime");
3221
3203
 
3222
3204
  // src/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-radio.tsx
3223
- var import_jsx_runtime88 = require("react/jsx-runtime");
3205
+ var import_jsx_runtime89 = require("react/jsx-runtime");
3224
3206
 
3225
3207
  // src/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-text.tsx
3226
- var import_jsx_runtime89 = require("react/jsx-runtime");
3208
+ var import_jsx_runtime90 = require("react/jsx-runtime");
3227
3209
 
3228
3210
  // src/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-satisfaction-option.tsx
3229
- var import_jsx_runtime90 = require("react/jsx-runtime");
3211
+ var import_jsx_runtime91 = require("react/jsx-runtime");
3230
3212
 
3231
3213
  // src/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-satisfaction-text.tsx
3232
- var import_jsx_runtime91 = require("react/jsx-runtime");
3214
+ var import_jsx_runtime92 = require("react/jsx-runtime");
3233
3215
 
3234
3216
  // src/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-body.tsx
3235
- var import_jsx_runtime92 = require("react/jsx-runtime");
3217
+ var import_jsx_runtime93 = require("react/jsx-runtime");
3236
3218
 
3237
3219
  // src/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/index.tsx
3238
- var import_jsx_runtime93 = require("react/jsx-runtime");
3220
+ var import_jsx_runtime94 = require("react/jsx-runtime");
3239
3221
 
3240
3222
  // src/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/index.tsx
3241
- var import_jsx_runtime94 = require("react/jsx-runtime");
3223
+ var import_jsx_runtime95 = require("react/jsx-runtime");
3242
3224
 
3243
3225
  // src/molecules/curriculumV2/CurriculumContents/curriculum-review.tsx
3244
- var import_jsx_runtime95 = require("react/jsx-runtime");
3226
+ var import_jsx_runtime96 = require("react/jsx-runtime");
3245
3227
 
3246
3228
  // src/molecules/curriculumV2/CurriculumContents/curriculum-ai-traning.tsx
3247
3229
  var import_react56 = require("react");
3248
- var import_jsx_runtime96 = require("react/jsx-runtime");
3230
+ var import_jsx_runtime97 = require("react/jsx-runtime");
3249
3231
 
3250
3232
  // src/molecules/curriculumV2/CurriculumContents/curriculum-file-download.tsx
3251
3233
  var import_react57 = require("react");
3252
- var import_jsx_runtime97 = require("react/jsx-runtime");
3234
+ var import_jsx_runtime98 = require("react/jsx-runtime");
3253
3235
 
3254
3236
  // src/molecules/curriculumV2/CurriculumContents/index.tsx
3255
- var import_jsx_runtime98 = require("react/jsx-runtime");
3237
+ var import_jsx_runtime99 = require("react/jsx-runtime");
3256
3238
 
3257
3239
  // src/molecules/curriculumV2/CurriculumSidebar/index.tsx
3258
3240
  var import_react58 = require("react");
3259
3241
 
3260
3242
  // src/molecules/curriculumV2/CurriculumSidebar/Items/section-title.tsx
3261
- var import_jsx_runtime99 = require("react/jsx-runtime");
3243
+ var import_jsx_runtime100 = require("react/jsx-runtime");
3262
3244
 
3263
3245
  // src/molecules/curriculumV2/CurriculumSidebar/Items/curriculum-sidebar-item-wrapper.tsx
3264
- var import_jsx_runtime100 = require("react/jsx-runtime");
3246
+ var import_jsx_runtime101 = require("react/jsx-runtime");
3265
3247
 
3266
3248
  // src/molecules/curriculumV2/CurriculumSidebar/Items/curriculum-item-title.tsx
3267
- var import_jsx_runtime101 = require("react/jsx-runtime");
3249
+ var import_jsx_runtime102 = require("react/jsx-runtime");
3268
3250
 
3269
3251
  // src/molecules/curriculumV2/CurriculumSidebar/Items/section-item.tsx
3270
- var import_jsx_runtime102 = require("react/jsx-runtime");
3252
+ var import_jsx_runtime103 = require("react/jsx-runtime");
3271
3253
 
3272
3254
  // src/molecules/curriculumV2/CurriculumSidebar/sidebar-item.tsx
3273
- var import_jsx_runtime103 = require("react/jsx-runtime");
3255
+ var import_jsx_runtime104 = require("react/jsx-runtime");
3274
3256
 
3275
3257
  // src/molecules/curriculumV2/CurriculumSidebar/index.tsx
3276
- var import_jsx_runtime104 = require("react/jsx-runtime");
3258
+ var import_jsx_runtime105 = require("react/jsx-runtime");
3277
3259
 
3278
3260
  // src/molecules/curriculumV2/curriculum-v2-layout.tsx
3279
- var import_jsx_runtime105 = require("react/jsx-runtime");
3261
+ var import_jsx_runtime106 = require("react/jsx-runtime");
3280
3262
 
3281
3263
  // src/molecules/dynamic-form.tsx
3282
3264
  var import_react60 = require("react");
@@ -3286,26 +3268,26 @@ var import_themes55 = require("@radix-ui/themes");
3286
3268
 
3287
3269
  // src/context/dynamic-form-context.tsx
3288
3270
  var import_react59 = require("react");
3289
- var import_jsx_runtime106 = require("react/jsx-runtime");
3271
+ var import_jsx_runtime107 = require("react/jsx-runtime");
3290
3272
  var DynamicFormContext = (0, import_react59.createContext)(null);
3291
3273
 
3292
3274
  // src/molecules/dynamic-field.tsx
3293
- var import_jsx_runtime107 = require("react/jsx-runtime");
3275
+ var import_jsx_runtime108 = require("react/jsx-runtime");
3294
3276
 
3295
3277
  // src/molecules/dynamic-form.tsx
3296
- var import_jsx_runtime108 = require("react/jsx-runtime");
3278
+ var import_jsx_runtime109 = require("react/jsx-runtime");
3297
3279
 
3298
3280
  // src/molecules/one-on-one-guide-list.tsx
3299
3281
  var import_react61 = require("react");
3300
- var import_jsx_runtime109 = require("react/jsx-runtime");
3282
+ var import_jsx_runtime110 = require("react/jsx-runtime");
3301
3283
 
3302
3284
  // src/molecules/description-json-render.tsx
3303
- var import_jsx_runtime110 = require("react/jsx-runtime");
3285
+ var import_jsx_runtime111 = require("react/jsx-runtime");
3304
3286
 
3305
3287
  // src/molecules/training-info-guideline.tsx
3306
3288
  var import_react62 = require("react");
3307
3289
  var import_react_icons8 = require("@radix-ui/react-icons");
3308
- var import_jsx_runtime111 = require("react/jsx-runtime");
3290
+ var import_jsx_runtime112 = require("react/jsx-runtime");
3309
3291
 
3310
3292
  // src/molecules/dynamic-form-editor.tsx
3311
3293
  var import_react65 = require("react");
@@ -3313,26 +3295,26 @@ var import_react65 = require("react");
3313
3295
  // src/molecules/dynamic-form-editor-field-editor-panel.tsx
3314
3296
  var import_react63 = require("react");
3315
3297
  var import_themes56 = require("@radix-ui/themes");
3316
- var import_jsx_runtime112 = require("react/jsx-runtime");
3298
+ var import_jsx_runtime113 = require("react/jsx-runtime");
3317
3299
 
3318
3300
  // src/molecules/dynamic-form-editor-field-list-panel.tsx
3319
3301
  var import_react64 = require("react");
3320
3302
  var import_themes57 = require("@radix-ui/themes");
3321
- var import_jsx_runtime113 = require("react/jsx-runtime");
3303
+ var import_jsx_runtime114 = require("react/jsx-runtime");
3322
3304
 
3323
3305
  // src/molecules/dynamic-form-editor-issues-panel.tsx
3324
- var import_jsx_runtime114 = require("react/jsx-runtime");
3306
+ var import_jsx_runtime115 = require("react/jsx-runtime");
3325
3307
 
3326
3308
  // src/molecules/dynamic-form-editor-preview-panel.tsx
3327
- var import_jsx_runtime115 = require("react/jsx-runtime");
3309
+ var import_jsx_runtime116 = require("react/jsx-runtime");
3328
3310
 
3329
3311
  // src/molecules/dynamic-form-editor.tsx
3330
- var import_jsx_runtime116 = require("react/jsx-runtime");
3312
+ var import_jsx_runtime117 = require("react/jsx-runtime");
3331
3313
 
3332
3314
  // src/molecules/autocomplete-textfield.tsx
3333
3315
  var import_react66 = require("react");
3334
3316
  var import_themes58 = require("@radix-ui/themes");
3335
- var import_jsx_runtime117 = require("react/jsx-runtime");
3317
+ var import_jsx_runtime118 = require("react/jsx-runtime");
3336
3318
  var AutocompleteTextfield = (0, import_react66.forwardRef)(
3337
3319
  (_a, ref) => {
3338
3320
  var _b = _a, {
@@ -3458,8 +3440,8 @@ var AutocompleteTextfield = (0, import_react66.forwardRef)(
3458
3440
  const item = listRef.current.children[highlightedIndex];
3459
3441
  item.scrollIntoView({ block: "nearest" });
3460
3442
  }, [highlightedIndex]);
3461
- return /* @__PURE__ */ (0, import_jsx_runtime117.jsxs)(import_themes58.Box, { position: "relative", style: { width: "100%" }, children: [
3462
- /* @__PURE__ */ (0, import_jsx_runtime117.jsxs)(
3443
+ return /* @__PURE__ */ (0, import_jsx_runtime118.jsxs)(import_themes58.Box, { position: "relative", style: { width: "100%" }, children: [
3444
+ /* @__PURE__ */ (0, import_jsx_runtime118.jsxs)(
3463
3445
  TextField.Root,
3464
3446
  __spreadProps(__spreadValues({
3465
3447
  "aria-activedescendant": open && highlightedIndex >= 0 ? `${listboxId}-option-${highlightedIndex}` : void 0,
@@ -3485,12 +3467,12 @@ var AutocompleteTextfield = (0, import_react66.forwardRef)(
3485
3467
  value: inputValue
3486
3468
  }, rest), {
3487
3469
  children: [
3488
- slotLeft && /* @__PURE__ */ (0, import_jsx_runtime117.jsx)(TextField.Slot, { side: "left", children: slotLeft }),
3489
- slotRight && /* @__PURE__ */ (0, import_jsx_runtime117.jsx)(TextField.Slot, { side: "right", children: slotRight })
3470
+ slotLeft && /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(TextField.Slot, { side: "left", children: slotLeft }),
3471
+ slotRight && /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(TextField.Slot, { side: "right", children: slotRight })
3490
3472
  ]
3491
3473
  })
3492
3474
  ),
3493
- /* @__PURE__ */ (0, import_jsx_runtime117.jsxs)(
3475
+ /* @__PURE__ */ (0, import_jsx_runtime118.jsxs)(
3494
3476
  DropdownMenu.Root,
3495
3477
  {
3496
3478
  modal: false,
@@ -3502,7 +3484,7 @@ var AutocompleteTextfield = (0, import_react66.forwardRef)(
3502
3484
  },
3503
3485
  open,
3504
3486
  children: [
3505
- /* @__PURE__ */ (0, import_jsx_runtime117.jsx)(DropdownMenu.Trigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime117.jsx)(
3487
+ /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(DropdownMenu.Trigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(
3506
3488
  "span",
3507
3489
  {
3508
3490
  "aria-hidden": "true",
@@ -3517,7 +3499,7 @@ var AutocompleteTextfield = (0, import_react66.forwardRef)(
3517
3499
  }
3518
3500
  }
3519
3501
  ) }),
3520
- /* @__PURE__ */ (0, import_jsx_runtime117.jsx)(
3502
+ /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(
3521
3503
  DropdownMenu.Content,
3522
3504
  {
3523
3505
  align: "start",
@@ -3534,7 +3516,7 @@ var AutocompleteTextfield = (0, import_react66.forwardRef)(
3534
3516
  padding: 0,
3535
3517
  width: "var(--radix-dropdown-menu-trigger-width)"
3536
3518
  },
3537
- children: filtered.length === 0 && emptyMessage !== null ? /* @__PURE__ */ (0, import_jsx_runtime117.jsx)(import_themes58.Box, { px: "2", py: "2", children: /* @__PURE__ */ (0, import_jsx_runtime117.jsx)(Typo, { color: "gray", children: emptyMessage }) }) : /* @__PURE__ */ (0, import_jsx_runtime117.jsx)(
3519
+ 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)(
3538
3520
  "ul",
3539
3521
  {
3540
3522
  id: listboxId,
@@ -3543,7 +3525,7 @@ var AutocompleteTextfield = (0, import_react66.forwardRef)(
3543
3525
  style: { listStyle: "none", margin: 0, padding: 0 },
3544
3526
  children: filtered.map((option, index) => {
3545
3527
  const isHighlighted = index === highlightedIndex;
3546
- return /* @__PURE__ */ (0, import_jsx_runtime117.jsx)(
3528
+ return /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(
3547
3529
  "li",
3548
3530
  {
3549
3531
  "aria-selected": isHighlighted,
@@ -3562,7 +3544,7 @@ var AutocompleteTextfield = (0, import_react66.forwardRef)(
3562
3544
  backgroundColor: isHighlighted ? "var(--accent-3)" : "transparent",
3563
3545
  transition: "background-color 80ms"
3564
3546
  },
3565
- children: /* @__PURE__ */ (0, import_jsx_runtime117.jsx)(Typo, { variant: "body", children: option.label })
3547
+ children: /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(Typo, { variant: "body", children: option.label })
3566
3548
  },
3567
3549
  option.value
3568
3550
  );
@@ -3589,7 +3571,7 @@ var import_renderers = require("echarts/renderers");
3589
3571
  var import_components = require("echarts/components");
3590
3572
 
3591
3573
  // src/charts/horizontal-bar-chart.tsx
3592
- var import_jsx_runtime118 = require("react/jsx-runtime");
3574
+ var import_jsx_runtime119 = require("react/jsx-runtime");
3593
3575
 
3594
3576
  // src/charts/chart-theme.json
3595
3577
  var chart_theme_default = {
@@ -3740,7 +3722,7 @@ var EchartDefaultProps = {
3740
3722
  };
3741
3723
 
3742
3724
  // src/app/roleplay/chart/session-chart.tsx
3743
- var import_jsx_runtime119 = require("react/jsx-runtime");
3725
+ var import_jsx_runtime120 = require("react/jsx-runtime");
3744
3726
  function unwrapDefault(mod) {
3745
3727
  let current = mod;
3746
3728
  while (current !== null && typeof current === "object" && "default" in current) {
@@ -3800,7 +3782,7 @@ function Chart(_a) {
3800
3782
  };
3801
3783
  return deepMerge(baseOption, optionProp);
3802
3784
  }, [optionProp]);
3803
- return /* @__PURE__ */ (0, import_jsx_runtime119.jsx)("div", { ref, style: { width: "100%", height: "100%" }, children: mounted ? /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(
3785
+ return /* @__PURE__ */ (0, import_jsx_runtime120.jsx)("div", { ref, style: { width: "100%", height: "100%" }, children: mounted ? /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(
3804
3786
  ReactEChartsCore,
3805
3787
  __spreadProps(__spreadValues(__spreadProps(__spreadValues({}, EchartDefaultProps), {
3806
3788
  echarts,
@@ -3849,7 +3831,7 @@ function useTokenColors(vars) {
3849
3831
  }
3850
3832
  setResolved(next);
3851
3833
  }, [key]);
3852
- const probe = /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(
3834
+ const probe = /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(
3853
3835
  "span",
3854
3836
  {
3855
3837
  "aria-hidden": true,
@@ -3861,15 +3843,20 @@ function useTokenColors(vars) {
3861
3843
  }
3862
3844
 
3863
3845
  // src/app/roleplay/parts/score-trend-section.tsx
3864
- var import_jsx_runtime120 = require("react/jsx-runtime");
3846
+ var import_jsx_runtime121 = require("react/jsx-runtime");
3847
+ function formatDateOnly(iso) {
3848
+ const d = new Date(iso);
3849
+ if (Number.isNaN(d.getTime())) return iso;
3850
+ return (0, import_date_fns4.format)(d, "M/d");
3851
+ }
3865
3852
  function Section4({
3866
3853
  title,
3867
3854
  desc,
3868
3855
  children
3869
3856
  }) {
3870
- return /* @__PURE__ */ (0, import_jsx_runtime120.jsxs)("section", { children: [
3871
- /* @__PURE__ */ (0, import_jsx_runtime120.jsxs)(import_themes7.Box, { mb: "3", children: [
3872
- /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(
3857
+ return /* @__PURE__ */ (0, import_jsx_runtime121.jsxs)("section", { children: [
3858
+ /* @__PURE__ */ (0, import_jsx_runtime121.jsxs)(import_themes7.Box, { mb: "3", children: [
3859
+ /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(
3873
3860
  Heading2,
3874
3861
  {
3875
3862
  size: { initial: "4", md: "5" },
@@ -3878,14 +3865,14 @@ function Section4({
3878
3865
  children: title
3879
3866
  }
3880
3867
  ),
3881
- desc ? /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(import_themes7.Box, { mt: "1", style: { maxWidth: "65ch" }, children: /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(Typo, { as: "p", color: "gray", variant: "body", children: desc }) }) : null
3868
+ 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
3882
3869
  ] }),
3883
3870
  children
3884
3871
  ] });
3885
3872
  }
3886
3873
  function AttemptCell({ row }) {
3887
3874
  const d = row.original;
3888
- return /* @__PURE__ */ (0, import_jsx_runtime120.jsxs)(
3875
+ return /* @__PURE__ */ (0, import_jsx_runtime121.jsxs)(
3889
3876
  Typo,
3890
3877
  {
3891
3878
  as: "span",
@@ -3901,11 +3888,11 @@ function AttemptCell({ row }) {
3901
3888
  );
3902
3889
  }
3903
3890
  function DateCell({ row }) {
3904
- return /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(Typo, { as: "span", mono: true, style: { color: "var(--gray-9)" }, variant: "body", children: formatDate(row.original.createdAt) });
3891
+ return /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(Typo, { as: "span", mono: true, style: { color: "var(--gray-9)" }, variant: "body", children: formatDateOnly(row.original.createdAt) });
3905
3892
  }
3906
3893
  function ScoreCell({ row }) {
3907
3894
  var _a;
3908
- return /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(
3895
+ return /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(
3909
3896
  Typo,
3910
3897
  {
3911
3898
  as: "span",
@@ -3919,9 +3906,9 @@ function ScoreCell({ row }) {
3919
3906
  function DeltaCell({ row }) {
3920
3907
  const { delta } = row.original;
3921
3908
  if (delta === null) {
3922
- return /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(Typo, { as: "span", mono: true, style: { color: "var(--gray-9)" }, variant: "body", children: "\u2014" });
3909
+ return /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(Typo, { as: "span", mono: true, style: { color: "var(--gray-9)" }, variant: "body", children: "\u2014" });
3923
3910
  }
3924
- return /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(Typo, { as: "span", mono: true, style: { color: "var(--gray-9)" }, variant: "body", children: delta > 0 ? `+${delta}` : `${delta}` });
3911
+ return /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(Typo, { as: "span", mono: true, style: { color: "var(--gray-9)" }, variant: "body", children: delta > 0 ? `+${delta}` : `${delta}` });
3925
3912
  }
3926
3913
  function ScoreTrendSection({
3927
3914
  history
@@ -3999,43 +3986,45 @@ function ScoreTrendSection({
3999
3986
  const columns = (0, import_react68.useMemo)(() => {
4000
3987
  const h = (0, import_react_table2.createColumnHelper)();
4001
3988
  return [
3989
+ // autoSize 컬럼에선 size가 최소폭으로 동작(1fr로 늘어남). 모바일(iPhone SE 375px,
3990
+ // 가용 ≈343px)에서 grid 최소폭 합이 화면을 넘지 않도록 작게 잡는다.
4002
3991
  h.display({
4003
3992
  id: "attempt",
4004
3993
  header: "\uD68C\uCC28",
4005
- size: 120,
4006
- meta: { autoSize: true, align: "left" },
3994
+ size: 116,
3995
+ meta: { align: "left" },
4007
3996
  cell: AttemptCell
4008
3997
  }),
4009
3998
  h.display({
4010
3999
  id: "date",
4011
4000
  header: "\uB0A0\uC9DC",
4012
- size: 130,
4001
+ size: 76,
4013
4002
  meta: { align: "left" },
4014
4003
  cell: DateCell
4015
4004
  }),
4016
4005
  h.display({
4017
4006
  id: "score",
4018
4007
  header: "\uCD1D\uC810",
4019
- size: 80,
4008
+ size: 64,
4020
4009
  meta: { align: "right" },
4021
4010
  cell: ScoreCell
4022
4011
  }),
4023
4012
  h.display({
4024
4013
  id: "delta",
4025
4014
  header: "\uBCC0\uD654",
4026
- size: 80,
4027
- meta: { align: "right" },
4015
+ size: 64,
4016
+ meta: { autoSize: true, align: "left" },
4028
4017
  cell: DeltaCell
4029
4018
  })
4030
4019
  ];
4031
4020
  }, []);
4032
- return /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(
4021
+ return /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(
4033
4022
  Section4,
4034
4023
  {
4035
- desc: `\uAC19\uC740 \uC2DC\uB098\uB9AC\uC624 \uCD5C\uADFC ${ordered.length}\uD68C\uCC28 \uCD1D\uC810 \uBCC0\uD654`,
4024
+ desc: `\uB3D9\uC77C \uB864\uD50C\uB808\uC789 \uCD5C\uADFC ${ordered.length}\uD68C\uCC28 \uCD1D\uC810 \uBCC0\uD654`,
4036
4025
  title: "\uCD1D\uC810 \uCD94\uC774",
4037
- children: /* @__PURE__ */ (0, import_jsx_runtime120.jsxs)(import_themes23.Flex, { direction: "column", gap: "4", children: [
4038
- /* @__PURE__ */ (0, import_jsx_runtime120.jsxs)(
4026
+ children: /* @__PURE__ */ (0, import_jsx_runtime121.jsxs)(import_themes23.Flex, { direction: "column", gap: "4", children: [
4027
+ /* @__PURE__ */ (0, import_jsx_runtime121.jsxs)(
4039
4028
  "div",
4040
4029
  {
4041
4030
  "aria-label": "\uCD1D\uC810 \uCD94\uC774 \uB77C\uC778 \uCC28\uD2B8",
@@ -4043,17 +4032,18 @@ function ScoreTrendSection({
4043
4032
  style: { position: "relative", width: "100%", height: 200 },
4044
4033
  children: [
4045
4034
  probe,
4046
- /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(Chart, { option })
4035
+ /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(Chart, { option })
4047
4036
  ]
4048
4037
  }
4049
4038
  ),
4050
- /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(import_themes7.Box, { className: "rp-expand-table", children: /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(
4039
+ /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(import_themes7.Box, { className: "rp-expand-table", children: /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(
4051
4040
  ExpandTable,
4052
4041
  {
4053
4042
  columns,
4054
4043
  data: rows,
4055
4044
  getRowStyle: (d) => d.isCurrent ? { background: "var(--accent-a2)" } : {},
4056
4045
  showPagination: false,
4046
+ slim: true,
4057
4047
  variant: "sprite"
4058
4048
  }
4059
4049
  ) })
@@ -4064,33 +4054,33 @@ function ScoreTrendSection({
4064
4054
 
4065
4055
  // src/app/roleplay/parts/section-nav.tsx
4066
4056
  var import_react69 = require("react");
4067
- var import_jsx_runtime121 = require("react/jsx-runtime");
4057
+ var import_jsx_runtime122 = require("react/jsx-runtime");
4068
4058
  var NAV_ICONS = {
4069
- "score-summary": /* @__PURE__ */ (0, import_jsx_runtime121.jsxs)(import_jsx_runtime121.Fragment, { children: [
4070
- /* @__PURE__ */ (0, import_jsx_runtime121.jsx)("path", { d: "m12 14 4-4" }),
4071
- /* @__PURE__ */ (0, import_jsx_runtime121.jsx)("path", { d: "M3.34 19a10 10 0 1 1 17.32 0" })
4059
+ "score-summary": /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)(import_jsx_runtime122.Fragment, { children: [
4060
+ /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("path", { d: "m12 14 4-4" }),
4061
+ /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("path", { d: "M3.34 19a10 10 0 1 1 17.32 0" })
4072
4062
  ] }),
4073
- strengths: /* @__PURE__ */ (0, import_jsx_runtime121.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" }),
4074
- improvements: /* @__PURE__ */ (0, import_jsx_runtime121.jsxs)(import_jsx_runtime121.Fragment, { children: [
4075
- /* @__PURE__ */ (0, import_jsx_runtime121.jsx)("circle", { cx: "12", cy: "12", r: "9" }),
4076
- /* @__PURE__ */ (0, import_jsx_runtime121.jsx)("circle", { cx: "12", cy: "12", r: "5" }),
4077
- /* @__PURE__ */ (0, import_jsx_runtime121.jsx)("circle", { cx: "12", cy: "12", r: "1.5" })
4063
+ 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" }),
4064
+ improvements: /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)(import_jsx_runtime122.Fragment, { children: [
4065
+ /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("circle", { cx: "12", cy: "12", r: "9" }),
4066
+ /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("circle", { cx: "12", cy: "12", r: "5" }),
4067
+ /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("circle", { cx: "12", cy: "12", r: "1.5" })
4078
4068
  ] }),
4079
- "score-trend": /* @__PURE__ */ (0, import_jsx_runtime121.jsxs)(import_jsx_runtime121.Fragment, { children: [
4080
- /* @__PURE__ */ (0, import_jsx_runtime121.jsx)("path", { d: "M3 3v18h18" }),
4081
- /* @__PURE__ */ (0, import_jsx_runtime121.jsx)("path", { d: "m19 8-5 5-4-4-4 4" })
4069
+ "score-trend": /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)(import_jsx_runtime122.Fragment, { children: [
4070
+ /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("path", { d: "M3 3v18h18" }),
4071
+ /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("path", { d: "m19 8-5 5-4-4-4 4" })
4082
4072
  ] }),
4083
- "step-summary": /* @__PURE__ */ (0, import_jsx_runtime121.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" }),
4084
- "step-detail": /* @__PURE__ */ (0, import_jsx_runtime121.jsxs)(import_jsx_runtime121.Fragment, { children: [
4085
- /* @__PURE__ */ (0, import_jsx_runtime121.jsx)("line", { x1: "8", x2: "21", y1: "6", y2: "6" }),
4086
- /* @__PURE__ */ (0, import_jsx_runtime121.jsx)("line", { x1: "8", x2: "21", y1: "12", y2: "12" }),
4087
- /* @__PURE__ */ (0, import_jsx_runtime121.jsx)("line", { x1: "8", x2: "21", y1: "18", y2: "18" }),
4088
- /* @__PURE__ */ (0, import_jsx_runtime121.jsx)("path", { d: "M3 6h.01M3 12h.01M3 18h.01" })
4073
+ "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" }),
4074
+ "step-detail": /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)(import_jsx_runtime122.Fragment, { children: [
4075
+ /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("line", { x1: "8", x2: "21", y1: "6", y2: "6" }),
4076
+ /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("line", { x1: "8", x2: "21", y1: "12", y2: "12" }),
4077
+ /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("line", { x1: "8", x2: "21", y1: "18", y2: "18" }),
4078
+ /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("path", { d: "M3 6h.01M3 12h.01M3 18h.01" })
4089
4079
  ] }),
4090
- coaching: /* @__PURE__ */ (0, import_jsx_runtime121.jsx)("polygon", { points: "13 2 3 14 12 14 11 22 21 10 12 10 13 2" })
4080
+ coaching: /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("polygon", { points: "13 2 3 14 12 14 11 22 21 10 12 10 13 2" })
4091
4081
  };
4092
4082
  function NavIcon({ children }) {
4093
- return /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(
4083
+ return /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(
4094
4084
  "svg",
4095
4085
  {
4096
4086
  "aria-hidden": "true",
@@ -4110,12 +4100,13 @@ function NavIcon({ children }) {
4110
4100
  function StepMetricBadge({ step }) {
4111
4101
  const scoreText = stepScoreText(step);
4112
4102
  if (scoreText !== null) {
4113
- return /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(
4103
+ return /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(
4114
4104
  Typo,
4115
4105
  {
4116
4106
  as: "span",
4107
+ color: "gray",
4117
4108
  mono: true,
4118
- style: { flexShrink: 0, color: "var(--gray-11)" },
4109
+ style: { flexShrink: 0 },
4119
4110
  variant: "body",
4120
4111
  weight: "medium",
4121
4112
  children: scoreText
@@ -4124,7 +4115,7 @@ function StepMetricBadge({ step }) {
4124
4115
  }
4125
4116
  const gradeLabel = stepGradeLabel(step);
4126
4117
  if (gradeLabel !== null) {
4127
- return /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(
4118
+ return /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(
4128
4119
  Typo,
4129
4120
  {
4130
4121
  as: "span",
@@ -4167,8 +4158,8 @@ function scrollToId(id) {
4167
4158
  function SectionNav({ items, steps }) {
4168
4159
  const activeId = useScrollSpy(items.map((i) => i.id));
4169
4160
  const stepDetailActive = activeId === "step-summary" || activeId === "step-detail";
4170
- return /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(import_themes7.Box, { asChild: true, className: "rp-section-nav", children: /* @__PURE__ */ (0, import_jsx_runtime121.jsx)("aside", { children: /* @__PURE__ */ (0, import_jsx_runtime121.jsxs)(import_themes7.Box, { children: [
4171
- /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(
4161
+ 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: [
4162
+ /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(
4172
4163
  Typo,
4173
4164
  {
4174
4165
  as: "p",
@@ -4182,9 +4173,9 @@ function SectionNav({ items, steps }) {
4182
4173
  children: "\uBAA9\uCC28"
4183
4174
  }
4184
4175
  ),
4185
- /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(import_themes7.Box, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime121.jsx)("ul", { style: { listStyle: "none", margin: 0, padding: 0 }, children: items.map((item) => {
4176
+ /* @__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) => {
4186
4177
  const active = activeId === item.id;
4187
- return /* @__PURE__ */ (0, import_jsx_runtime121.jsx)("li", { children: /* @__PURE__ */ (0, import_jsx_runtime121.jsxs)(
4178
+ return /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("li", { children: /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)(
4188
4179
  "button",
4189
4180
  {
4190
4181
  "aria-current": active ? "true" : void 0,
@@ -4198,9 +4189,9 @@ function SectionNav({ items, steps }) {
4198
4189
  } : void 0,
4199
4190
  type: "button",
4200
4191
  children: [
4201
- /* @__PURE__ */ (0, import_jsx_runtime121.jsxs)(import_themes23.Flex, { align: "center", gap: "2", style: { minWidth: 0 }, children: [
4202
- NAV_ICONS[item.id] ? /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(NavIcon, { children: NAV_ICONS[item.id] }) : null,
4203
- /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(
4192
+ /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)(import_themes23.Flex, { align: "center", gap: "2", style: { minWidth: 0 }, children: [
4193
+ NAV_ICONS[item.id] ? /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(NavIcon, { children: NAV_ICONS[item.id] }) : null,
4194
+ /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(
4204
4195
  Typo,
4205
4196
  {
4206
4197
  as: "span",
@@ -4211,8 +4202,8 @@ function SectionNav({ items, steps }) {
4211
4202
  }
4212
4203
  )
4213
4204
  ] }),
4214
- typeof item.score === "number" ? /* @__PURE__ */ (0, import_jsx_runtime121.jsxs)(Typo, { as: "span", mono: true, style: { flexShrink: 0 }, variant: "body", children: [
4215
- /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(
4205
+ typeof item.score === "number" ? /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)(Typo, { as: "span", mono: true, style: { flexShrink: 0 }, variant: "body", children: [
4206
+ /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(
4216
4207
  Typo,
4217
4208
  {
4218
4209
  as: "span",
@@ -4224,7 +4215,7 @@ function SectionNav({ items, steps }) {
4224
4215
  children: item.score
4225
4216
  }
4226
4217
  ),
4227
- /* @__PURE__ */ (0, import_jsx_runtime121.jsxs)(Typo, { as: "span", style: { color: "var(--gray-9)" }, variant: "body", children: [
4218
+ /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)(Typo, { as: "span", style: { color: "var(--gray-9)" }, variant: "body", children: [
4228
4219
  "/",
4229
4220
  item.max
4230
4221
  ] })
@@ -4233,8 +4224,8 @@ function SectionNav({ items, steps }) {
4233
4224
  }
4234
4225
  ) }, item.id);
4235
4226
  }) }) }),
4236
- steps.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime121.jsxs)(import_themes7.Box, { mt: "3", pt: "3", style: { borderTop: "1px solid var(--gray-4)" }, children: [
4237
- /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(import_themes7.Box, { pb: "1", px: "3", children: /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(
4227
+ steps.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)(import_themes7.Box, { mt: "3", pt: "3", style: { borderTop: "1px solid var(--gray-4)" }, children: [
4228
+ /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(import_themes7.Box, { pb: "1", px: "3", children: /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(
4238
4229
  Typo,
4239
4230
  {
4240
4231
  as: "span",
@@ -4246,9 +4237,9 @@ function SectionNav({ items, steps }) {
4246
4237
  children: "\uB2E8\uACC4\uBCC4 \uC810\uC218"
4247
4238
  }
4248
4239
  ) }),
4249
- /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(import_themes7.Box, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime121.jsx)("ul", { style: { listStyle: "none", margin: 0, padding: 0 }, children: steps.map((step) => {
4240
+ /* @__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) => {
4250
4241
  const ratio = stepRatio(step);
4251
- return /* @__PURE__ */ (0, import_jsx_runtime121.jsx)("li", { children: /* @__PURE__ */ (0, import_jsx_runtime121.jsxs)(
4242
+ return /* @__PURE__ */ (0, import_jsx_runtime122.jsx)("li", { children: /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)(
4252
4243
  "button",
4253
4244
  {
4254
4245
  className: "rp-jump-btn",
@@ -4257,8 +4248,8 @@ function SectionNav({ items, steps }) {
4257
4248
  },
4258
4249
  type: "button",
4259
4250
  children: [
4260
- /* @__PURE__ */ (0, import_jsx_runtime121.jsxs)(import_themes23.Flex, { align: "center", gap: "2", justify: "between", children: [
4261
- /* @__PURE__ */ (0, import_jsx_runtime121.jsxs)(
4251
+ /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)(import_themes23.Flex, { align: "center", gap: "2", justify: "between", children: [
4252
+ /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)(
4262
4253
  Typo,
4263
4254
  {
4264
4255
  as: "span",
@@ -4266,19 +4257,19 @@ function SectionNav({ items, steps }) {
4266
4257
  truncate: true,
4267
4258
  variant: "body",
4268
4259
  children: [
4269
- /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(
4260
+ /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(
4270
4261
  Typo,
4271
4262
  {
4272
4263
  as: "span",
4264
+ color: "gray",
4273
4265
  mono: true,
4274
- style: { color: "var(--gray-11)" },
4275
4266
  variant: "body",
4276
4267
  weight: "medium",
4277
4268
  children: stepCode(step)
4278
4269
  }
4279
4270
  ),
4280
4271
  " ",
4281
- /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(
4272
+ /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(
4282
4273
  Typo,
4283
4274
  {
4284
4275
  as: "span",
@@ -4290,9 +4281,9 @@ function SectionNav({ items, steps }) {
4290
4281
  ]
4291
4282
  }
4292
4283
  ),
4293
- /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(StepMetricBadge, { step })
4284
+ /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(StepMetricBadge, { step })
4294
4285
  ] }),
4295
- ratio !== null ? /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(import_themes7.Box, { mt: "1", children: /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(Progress, { color: stepColor(step), size: "1", value: ratio * 100 }) }) : null
4286
+ 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
4296
4287
  ]
4297
4288
  }
4298
4289
  ) }, step.key);
@@ -4302,14 +4293,14 @@ function SectionNav({ items, steps }) {
4302
4293
  }
4303
4294
 
4304
4295
  // src/app/roleplay/parts/step-detail.tsx
4305
- var import_jsx_runtime122 = require("react/jsx-runtime");
4296
+ var import_jsx_runtime123 = require("react/jsx-runtime");
4306
4297
  function RubricField({
4307
4298
  label,
4308
4299
  value
4309
4300
  }) {
4310
- return /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)(import_themes7.Box, { children: [
4311
- /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(Typo, { as: "p", variant: "body", weight: "medium", children: label }),
4312
- /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(import_themes7.Box, { mt: "1", style: { maxWidth: "65ch" }, children: /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(Typo, { as: "p", variant: "body", children: value }) })
4301
+ return /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)(import_themes7.Box, { children: [
4302
+ /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(Typo, { as: "p", variant: "body", weight: "medium", children: label }),
4303
+ /* @__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 }) })
4313
4304
  ] });
4314
4305
  }
4315
4306
  function StepDetail({
@@ -4320,14 +4311,14 @@ function StepDetail({
4320
4311
  const ratio = stepRatio(step);
4321
4312
  const scoreText = stepScoreText(step);
4322
4313
  const gradeLabel = stepGradeLabel(step);
4323
- return /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)(import_themes7.Box, { id: `step-${step.key}`, style: { scrollMarginTop }, children: [
4324
- /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)(import_themes23.Flex, { align: "center", gap: "2", justify: "between", mb: "1", children: [
4325
- /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)(import_themes7.Box, { style: { minWidth: 0 }, children: [
4326
- /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(Typo, { as: "span", color: "gray", mono: true, variant: "body", children: stepCode(step) }),
4327
- /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(Typo, { as: "p", variant: "subtitle", weight: "bold", children: step.label })
4314
+ return /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)(import_themes7.Box, { id: `step-${step.key}`, style: { scrollMarginTop }, children: [
4315
+ /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)(import_themes23.Flex, { align: "center", gap: "2", justify: "between", mb: "1", children: [
4316
+ /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)(import_themes7.Box, { style: { minWidth: 0 }, children: [
4317
+ /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(Typo, { as: "span", color: "gray", mono: true, variant: "body", children: stepCode(step) }),
4318
+ /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(Typo, { as: "p", variant: "subtitle", weight: "bold", children: step.label })
4328
4319
  ] }),
4329
- /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)(import_themes23.Flex, { align: "end", direction: "column", gap: "1", style: { flexShrink: 0 }, children: [
4330
- scoreText !== null ? /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(
4320
+ /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)(import_themes23.Flex, { align: "end", direction: "column", gap: "1", style: { flexShrink: 0 }, children: [
4321
+ scoreText !== null ? /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
4331
4322
  Typo,
4332
4323
  {
4333
4324
  as: "span",
@@ -4338,7 +4329,7 @@ function StepDetail({
4338
4329
  children: scoreText
4339
4330
  }
4340
4331
  ) : null,
4341
- gradeLabel !== null ? /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(
4332
+ gradeLabel !== null ? /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
4342
4333
  Typo,
4343
4334
  {
4344
4335
  as: "span",
@@ -4358,16 +4349,16 @@ function StepDetail({
4358
4349
  ) : null
4359
4350
  ] })
4360
4351
  ] }),
4361
- ratio !== null ? /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(import_themes7.Box, { mb: "3", mt: "2", children: /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(Progress, { color: stepColor(step), size: "2", value: ratio * 100 }) }) : null,
4362
- step.description ? /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(import_themes7.Box, { mb: "3", mt: ratio !== null ? "0" : "2", style: { maxWidth: "65ch" }, children: /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(Typo, { as: "p", color: "gray", variant: "body", children: step.description }) }) : null,
4363
- /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)(import_themes23.Flex, { direction: "column", gap: "0", children: [
4364
- step.basis || step.issue ? /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(import_themes7.Box, { pb: "3", style: { borderBottom: "1px solid var(--gray-a4)" }, children: /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)(import_themes23.Flex, { direction: "column", gap: "3", children: [
4365
- step.basis ? /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(RubricField, { label: "\uADFC\uAC70", value: step.basis }) : null,
4366
- step.issue ? /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(RubricField, { label: "\uC544\uC26C\uC6B4 \uC810", value: step.issue }) : null
4352
+ 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,
4353
+ 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,
4354
+ /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)(import_themes23.Flex, { direction: "column", gap: "0", children: [
4355
+ 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: [
4356
+ step.basis ? /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(RubricField, { label: "\uADFC\uAC70", value: step.basis }) : null,
4357
+ step.issue ? /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(RubricField, { label: "\uC544\uC26C\uC6B4 \uC810", value: step.issue }) : null
4367
4358
  ] }) }) : null,
4368
- step.improve || step.example || step.idealExample ? /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(import_themes7.Box, { pt: "3", children: /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)(import_themes23.Flex, { direction: "column", gap: "3", children: [
4369
- step.improve ? /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(RubricField, { label: "\uAC1C\uC120\uC810", value: step.improve }) : null,
4370
- step.example ? /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)(
4359
+ 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: [
4360
+ step.improve ? /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(RubricField, { label: "\uAC1C\uC120\uC810", value: step.improve }) : null,
4361
+ step.example ? /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)(
4371
4362
  import_themes7.Box,
4372
4363
  {
4373
4364
  p: "2",
@@ -4376,7 +4367,7 @@ function StepDetail({
4376
4367
  background: "var(--accent-a2)"
4377
4368
  },
4378
4369
  children: [
4379
- /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(
4370
+ /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
4380
4371
  Typo,
4381
4372
  {
4382
4373
  as: "p",
@@ -4386,11 +4377,11 @@ function StepDetail({
4386
4377
  children: "\uC608\uC2DC \uC2A4\uD06C\uB9BD\uD2B8"
4387
4378
  }
4388
4379
  ),
4389
- /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(import_themes7.Box, { mt: "1", style: { maxWidth: "65ch" }, children: /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(Typo, { as: "p", style: { color: "var(--accent-11)" }, variant: "body", children: step.example }) })
4380
+ /* @__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 }) })
4390
4381
  ]
4391
4382
  }
4392
4383
  ) : null,
4393
- step.idealExample ? /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)(
4384
+ step.idealExample ? /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)(
4394
4385
  import_themes7.Box,
4395
4386
  {
4396
4387
  p: "2",
@@ -4399,8 +4390,8 @@ function StepDetail({
4399
4390
  background: "var(--gray-a2)"
4400
4391
  },
4401
4392
  children: [
4402
- /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(Typo, { as: "p", color: "gray", variant: "body", weight: "medium", children: "\uBAA8\uBC94 \uC608\uC2DC" }),
4403
- /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(import_themes7.Box, { mt: "1", style: { maxWidth: "65ch" }, children: /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(
4393
+ /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(Typo, { as: "p", color: "gray", variant: "body", weight: "medium", children: "\uBAA8\uBC94 \uC608\uC2DC" }),
4394
+ /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(import_themes7.Box, { mt: "1", style: { maxWidth: "65ch" }, children: /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(
4404
4395
  Typo,
4405
4396
  {
4406
4397
  as: "p",
@@ -4419,7 +4410,7 @@ function StepDetail({
4419
4410
  }
4420
4411
 
4421
4412
  // src/app/roleplay/parts/step-radar.tsx
4422
- var import_jsx_runtime123 = require("react/jsx-runtime");
4413
+ var import_jsx_runtime124 = require("react/jsx-runtime");
4423
4414
  function StepRadar({ steps }) {
4424
4415
  const { colors, probe } = useTokenColors({
4425
4416
  accent: ["--accent-9", "#5b5bd6"],
@@ -4468,7 +4459,7 @@ function StepRadar({ steps }) {
4468
4459
  }
4469
4460
  ]
4470
4461
  };
4471
- return /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)(
4462
+ return /* @__PURE__ */ (0, import_jsx_runtime124.jsxs)(
4472
4463
  "div",
4473
4464
  {
4474
4465
  "aria-label": "\uD3C9\uAC00 \uB2E8\uACC4 \uB808\uC774\uB354 \uCC28\uD2B8",
@@ -4484,23 +4475,23 @@ function StepRadar({ steps }) {
4484
4475
  },
4485
4476
  children: [
4486
4477
  probe,
4487
- /* @__PURE__ */ (0, import_jsx_runtime123.jsx)("div", { style: { width: "100%", maxWidth: 300, height: 280 }, children: /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(Chart, { option }) })
4478
+ /* @__PURE__ */ (0, import_jsx_runtime124.jsx)("div", { style: { width: "100%", maxWidth: 300, height: 280 }, children: /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(Chart, { option }) })
4488
4479
  ]
4489
4480
  }
4490
4481
  );
4491
4482
  }
4492
4483
 
4493
4484
  // src/app/roleplay/parts/step-summary.tsx
4494
- var import_jsx_runtime124 = require("react/jsx-runtime");
4485
+ var import_jsx_runtime125 = require("react/jsx-runtime");
4495
4486
  function Section5({
4496
4487
  title,
4497
4488
  desc,
4498
4489
  children
4499
4490
  }) {
4500
- return /* @__PURE__ */ (0, import_jsx_runtime124.jsxs)("section", { children: [
4501
- /* @__PURE__ */ (0, import_jsx_runtime124.jsxs)(import_themes7.Box, { mb: "3", children: [
4502
- /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(Typo, { as: "p", variant: "subtitle", weight: "bold", children: title }),
4503
- desc ? /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(import_themes7.Box, { mt: "1", style: { maxWidth: "65ch" }, children: /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(Typo, { as: "p", color: "gray", variant: "body", children: desc }) }) : null
4491
+ return /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)("section", { children: [
4492
+ /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)(import_themes7.Box, { mb: "3", children: [
4493
+ /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(Typo, { as: "p", variant: "subtitle", weight: "bold", children: title }),
4494
+ 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
4504
4495
  ] }),
4505
4496
  children
4506
4497
  ] });
@@ -4508,14 +4499,14 @@ function Section5({
4508
4499
  function StepSummary({ steps }) {
4509
4500
  if (steps.length === 0) return null;
4510
4501
  const radarReady = steps.every((s) => stepRatio(s) !== null);
4511
- const desc = radarReady ? "\uB300\uD654 \uB2E8\uACC4\uBCC4 \uD3C9\uAC00 \uACB0\uACFC\uB97C \uB808\uC774\uB354\uB85C \uC694\uC57D\uD569\uB2C8\uB2E4." : "\uB300\uD654 \uB2E8\uACC4\uBCC4 \uD3C9\uAC00 \uACB0\uACFC\uC785\uB2C8\uB2E4.";
4512
- const list = /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(import_themes23.Flex, { direction: "column", children: steps.map((step, i) => {
4502
+ const desc = "\uB300\uD654 \uB2E8\uACC4 \uBCC4\uB85C \uB098\uC758 \uAC15\uC57D\uC810\uC744 \uD655\uC778\uD560 \uC218 \uC788\uC5B4\uC694.";
4503
+ const list = /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(import_themes23.Flex, { direction: "column", children: steps.map((step, i) => {
4513
4504
  const ratio = stepRatio(step);
4514
4505
  const scoreText = stepScoreText(step);
4515
4506
  const gradeLabel = stepGradeLabel(step);
4516
- return /* @__PURE__ */ (0, import_jsx_runtime124.jsxs)(import_themes7.Box, { children: [
4517
- i > 0 && /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(import_themes40.Separator, { size: "4" }),
4518
- /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(
4507
+ return /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)(import_themes7.Box, { children: [
4508
+ i > 0 && /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(import_themes40.Separator, { size: "4" }),
4509
+ /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
4519
4510
  "button",
4520
4511
  {
4521
4512
  className: "rp-rubric-scroll-btn",
@@ -4532,9 +4523,9 @@ function StepSummary({ steps }) {
4532
4523
  textAlign: "left"
4533
4524
  },
4534
4525
  type: "button",
4535
- children: /* @__PURE__ */ (0, import_jsx_runtime124.jsxs)(import_themes23.Flex, { direction: "column", gap: "1", children: [
4536
- /* @__PURE__ */ (0, import_jsx_runtime124.jsxs)(import_themes23.Flex, { align: "center", gap: "2", justify: "between", children: [
4537
- /* @__PURE__ */ (0, import_jsx_runtime124.jsxs)(
4526
+ children: /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)(import_themes23.Flex, { direction: "column", gap: "1", children: [
4527
+ /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)(import_themes23.Flex, { align: "center", gap: "2", justify: "between", children: [
4528
+ /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)(
4538
4529
  Typo,
4539
4530
  {
4540
4531
  as: "span",
@@ -4543,12 +4534,12 @@ function StepSummary({ steps }) {
4543
4534
  variant: "body",
4544
4535
  weight: "medium",
4545
4536
  children: [
4546
- /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(
4537
+ /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
4547
4538
  Typo,
4548
4539
  {
4549
4540
  as: "span",
4541
+ color: "gray",
4550
4542
  mono: true,
4551
- style: { color: "var(--gray-11)" },
4552
4543
  variant: "body",
4553
4544
  weight: "medium",
4554
4545
  children: stepCode(step)
@@ -4559,9 +4550,9 @@ function StepSummary({ steps }) {
4559
4550
  ]
4560
4551
  }
4561
4552
  ),
4562
- /* @__PURE__ */ (0, import_jsx_runtime124.jsxs)(import_themes23.Flex, { align: "center", gap: "2", style: { flexShrink: 0 }, children: [
4563
- scoreText !== null ? /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(Typo, { as: "span", mono: true, variant: "body", weight: "bold", children: scoreText }) : null,
4564
- gradeLabel !== null ? /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(
4553
+ /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)(import_themes23.Flex, { align: "center", gap: "2", style: { flexShrink: 0 }, children: [
4554
+ scoreText !== null ? /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(Typo, { as: "span", mono: true, variant: "body", weight: "bold", children: scoreText }) : null,
4555
+ gradeLabel !== null ? /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
4565
4556
  Typo,
4566
4557
  {
4567
4558
  as: "span",
@@ -4574,13 +4565,13 @@ function StepSummary({ steps }) {
4574
4565
  ) : null
4575
4566
  ] })
4576
4567
  ] }),
4577
- ratio !== null ? /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(import_themes7.Box, { style: { flex: 1 }, children: /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(Progress, { color: stepColor(step), size: "1", value: ratio * 100 }) }) : null
4568
+ 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
4578
4569
  ] })
4579
4570
  }
4580
4571
  )
4581
4572
  ] }, step.key);
4582
4573
  }) });
4583
- return /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(Section5, { desc, title: "\uD3C9\uAC00 \uB2E8\uACC4 \uC694\uC57D", children: radarReady ? /* @__PURE__ */ (0, import_jsx_runtime124.jsxs)(
4574
+ return /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(Section5, { desc, title: "\uD3C9\uAC00 \uB2E8\uACC4 \uC694\uC57D", children: radarReady ? /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)(
4584
4575
  import_themes24.Grid,
4585
4576
  {
4586
4577
  align: "center",
@@ -4588,14 +4579,14 @@ function StepSummary({ steps }) {
4588
4579
  gap: "6",
4589
4580
  children: [
4590
4581
  list,
4591
- /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(StepRadar, { steps })
4582
+ /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(StepRadar, { steps })
4592
4583
  ]
4593
4584
  }
4594
4585
  ) : list });
4595
4586
  }
4596
4587
 
4597
4588
  // src/app/roleplay/parts/content.tsx
4598
- var import_jsx_runtime125 = require("react/jsx-runtime");
4589
+ var import_jsx_runtime126 = require("react/jsx-runtime");
4599
4590
  function Content8({
4600
4591
  detail,
4601
4592
  report,
@@ -4618,46 +4609,46 @@ function Content8({
4618
4609
  ...showStepDetail ? [{ id: "step-detail", label: "\uB2E8\uACC4\uBCC4 \uC0C1\uC138 \uBD84\uC11D" }] : [],
4619
4610
  ...skills.length > 0 ? [{ id: "coaching", label: "\uC989\uC2DC \uC801\uC6A9 \uC2A4\uD0AC" }] : []
4620
4611
  ];
4621
- return /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)(
4612
+ return /* @__PURE__ */ (0, import_jsx_runtime126.jsxs)(
4622
4613
  import_themes24.Grid,
4623
4614
  {
4624
4615
  align: "start",
4625
4616
  columns: { initial: "1", md: "minmax(0, 1fr) 224px" },
4626
4617
  gap: "7",
4627
4618
  children: [
4628
- /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)(import_themes23.Flex, { direction: "column", gap: "7", children: [
4629
- report.frameworkTitle !== null || report.frameworkDescription !== null ? /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)(import_themes7.Box, { children: [
4630
- report.frameworkTitle !== null ? /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(Heading2, { size: "5", weight: "bold", children: report.frameworkTitle }) : null,
4631
- report.frameworkDescription !== null ? /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(import_themes7.Box, { mt: report.frameworkTitle !== null ? "2" : "0", children: /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(Typo, { as: "p", variant: "body", children: report.frameworkDescription }) }) : null
4619
+ /* @__PURE__ */ (0, import_jsx_runtime126.jsxs)(import_themes23.Flex, { direction: "column", gap: "7", children: [
4620
+ report.frameworkTitle !== null || report.frameworkDescription !== null ? /* @__PURE__ */ (0, import_jsx_runtime126.jsxs)(import_themes7.Box, { children: [
4621
+ report.frameworkTitle !== null ? /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(Heading2, { size: "5", weight: "bold", children: report.frameworkTitle }) : null,
4622
+ 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
4632
4623
  ] }) : null,
4633
- /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(import_themes7.Box, { id: "score-summary", style: { scrollMarginTop }, children: /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(ScoreSummary, { detail, report, speechShare }) }),
4634
- strengths.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(import_themes7.Box, { id: "strengths", style: { scrollMarginTop }, children: /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
4624
+ /* @__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 }) }),
4625
+ strengths.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(import_themes7.Box, { id: "strengths", style: { scrollMarginTop }, children: /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(
4635
4626
  AnalysisSection,
4636
4627
  {
4637
- desc: "\uC774\uBC88 \uC138\uC158\uC5D0\uC11C \uC798\uD55C \uC810",
4628
+ desc: "\uC774\uBC88 \uC138\uC158\uC5D0\uC11C \uAC00\uC7A5 \uB3CB\uBCF4\uC778 \uAC15\uC810\uB4E4\uC774\uC5D0\uC694.",
4638
4629
  items: strengths,
4639
4630
  title: "\uAC15\uC810",
4640
4631
  tone: "good"
4641
4632
  }
4642
4633
  ) }) : null,
4643
- improvements.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(import_themes7.Box, { id: "improvements", style: { scrollMarginTop }, children: /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
4634
+ improvements.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(import_themes7.Box, { id: "improvements", style: { scrollMarginTop }, children: /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(
4644
4635
  AnalysisSection,
4645
4636
  {
4646
- desc: "\uB2E4\uC74C \uC2DC\uB3C4\uC5D0\uC11C \uBCF4\uC644\uD560 \uC810",
4637
+ desc: "\uB2E4\uC74C\uC5D0 \uBCF4\uC644\uD55C\uB2E4\uBA74 \uB354 \uB098\uC740 \uACB0\uACFC\uB97C \uC5BB\uC744 \uC218 \uC788\uC744 \uAC70\uC5D0\uC694.",
4647
4638
  items: improvements,
4648
4639
  title: "\uAC1C\uC120\uC810",
4649
4640
  tone: "bad"
4650
4641
  }
4651
4642
  ) }) : null,
4652
- showTrend ? /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(import_themes7.Box, { id: "score-trend", style: { scrollMarginTop }, children: /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(ScoreTrendSection, { history }) }) : null,
4653
- showStepSummary ? /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(import_themes7.Box, { id: "step-summary", style: { scrollMarginTop }, children: /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(StepSummary, { steps }) }) : null,
4654
- showStepDetail ? /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(import_themes7.Box, { id: "step-detail", style: { scrollMarginTop }, children: /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
4643
+ 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,
4644
+ 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,
4645
+ showStepDetail ? /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(import_themes7.Box, { id: "step-detail", style: { scrollMarginTop }, children: /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(
4655
4646
  Section2,
4656
4647
  {
4657
- desc: "\uB300\uD654 \uD504\uB808\uC784\uC6CC\uD06C \uB2E8\uACC4\uBCC4 \uD3C9\uAC00 \uACB0\uACFC\uC785\uB2C8\uB2E4.",
4648
+ desc: "\uC774\uBC88 \uB300\uD654\uC758 \uB354 \uB098\uC544\uC9C8 \uC218 \uC788\uB294 \uBC29\uD5A5\uC744 \uC54C\uB824\uB4DC\uB9B4\uAC8C\uC694.",
4658
4649
  title: "\uB2E8\uACC4\uBCC4 \uC0C1\uC138 \uBD84\uC11D",
4659
- children: /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(import_themes23.Flex, { direction: "column", children: steps.map((step, i) => /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)(import_themes7.Box, { children: [
4660
- i > 0 ? /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(
4650
+ 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: [
4651
+ i > 0 ? /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(
4661
4652
  import_themes40.Separator,
4662
4653
  {
4663
4654
  mb: "6",
@@ -4665,13 +4656,13 @@ function Content8({
4665
4656
  style: { marginTop: "calc(var(--space-9) * 1.6)" }
4666
4657
  }
4667
4658
  ) : null,
4668
- /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(StepDetail, { scrollMarginTop, step })
4659
+ /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(StepDetail, { scrollMarginTop, step })
4669
4660
  ] }, step.key)) })
4670
4661
  }
4671
4662
  ) }) : null,
4672
- skills.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(import_themes7.Box, { id: "coaching", style: { scrollMarginTop }, children: /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(CoachingPanel, { skills }) }) : null
4663
+ 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
4673
4664
  ] }),
4674
- /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(SectionNav, { items: navItems, steps: showStepDetail ? steps : [] })
4665
+ /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(SectionNav, { items: navItems, steps: showStepDetail ? steps : [] })
4675
4666
  ]
4676
4667
  }
4677
4668
  );