@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.
- package/dist/app/index.js +8 -8
- package/dist/app/platform/edit-coaching-time.js +8 -8
- package/dist/app/platform/edit-service-type.js +8 -8
- package/dist/app/platform/goal-manage-card-edit.js +8 -8
- package/dist/app/platform/on-offline-radio-card.js +8 -8
- package/dist/app/platform/reservation-card.js +8 -8
- package/dist/app/platform/session-card.js +8 -8
- package/dist/app/roleplay/index.cjs +362 -428
- package/dist/app/roleplay/index.cjs.map +1 -1
- package/dist/app/roleplay/index.js +19 -18
- package/dist/app/roleplay/parts/content.cjs +281 -290
- package/dist/app/roleplay/parts/content.cjs.map +1 -1
- package/dist/app/roleplay/parts/content.js +15 -14
- package/dist/app/roleplay/parts/header.cjs +1 -1
- package/dist/app/roleplay/parts/header.cjs.map +1 -1
- package/dist/app/roleplay/parts/header.js +1 -1
- package/dist/app/roleplay/parts/score-summary.cjs +32 -46
- package/dist/app/roleplay/parts/score-summary.cjs.map +1 -1
- package/dist/app/roleplay/parts/score-summary.js +2 -1
- package/dist/app/roleplay/parts/score-trend-section.cjs +16 -15
- package/dist/app/roleplay/parts/score-trend-section.cjs.map +1 -1
- package/dist/app/roleplay/parts/score-trend-section.js +9 -10
- package/dist/app/roleplay/parts/script-transcript.cjs +29 -37
- package/dist/app/roleplay/parts/script-transcript.cjs.map +1 -1
- package/dist/app/roleplay/parts/script-transcript.js +2 -1
- package/dist/app/roleplay/parts/section-nav.cjs +3 -2
- package/dist/app/roleplay/parts/section-nav.cjs.map +1 -1
- package/dist/app/roleplay/parts/section-nav.js +1 -1
- package/dist/app/roleplay/parts/session-replay-dialog.cjs +39 -47
- package/dist/app/roleplay/parts/session-replay-dialog.cjs.map +1 -1
- package/dist/app/roleplay/parts/session-replay-dialog.js +3 -2
- package/dist/app/roleplay/parts/speech-share-bar.cjs +2171 -0
- package/dist/app/roleplay/parts/speech-share-bar.cjs.map +1 -0
- package/dist/app/roleplay/parts/speech-share-bar.d.cts +9 -0
- package/dist/app/roleplay/parts/speech-share-bar.d.ts +9 -0
- package/dist/app/roleplay/parts/speech-share-bar.js +96 -0
- package/dist/app/roleplay/parts/speech-share-bar.js.map +1 -0
- package/dist/app/roleplay/parts/step-summary.cjs +2 -2
- package/dist/app/roleplay/parts/step-summary.cjs.map +1 -1
- package/dist/app/roleplay/parts/step-summary.js +1 -1
- package/dist/app/roleplay/rp-session-detail.cjs +362 -428
- package/dist/app/roleplay/rp-session-detail.cjs.map +1 -1
- package/dist/app/roleplay/rp-session-detail.js +19 -18
- package/dist/{chunk-6YIKOYBQ.js → chunk-2XDAK4B7.js} +5 -73
- package/dist/chunk-2XDAK4B7.js.map +1 -0
- package/dist/{chunk-U2EAXN3Y.js → chunk-A32HLL53.js} +4 -4
- package/dist/{chunk-3UGBMKSQ.js → chunk-AS3JVRQ3.js} +2 -2
- package/dist/{chunk-NKW6BO5R.js → chunk-DIISQDYA.js} +4 -3
- package/dist/chunk-DIISQDYA.js.map +1 -0
- package/dist/{chunk-N242VJOP.js → chunk-IIZ7I7NS.js} +5 -5
- package/dist/{chunk-2TOASXPK.js → chunk-MD64AUR6.js} +8 -8
- package/dist/chunk-MD64AUR6.js.map +1 -0
- package/dist/{chunk-LRNO4W2P.js → chunk-NSDVLCCW.js} +5 -5
- package/dist/{chunk-EHDUKUML.js → chunk-RNGEVYY5.js} +12 -72
- package/dist/chunk-RNGEVYY5.js.map +1 -0
- package/dist/{chunk-XM4GWPXC.js → chunk-RZW6FVML.js} +18 -12
- package/dist/chunk-RZW6FVML.js.map +1 -0
- package/dist/{chunk-T7LKMJVA.js → chunk-SZAU7YP3.js} +4 -4
- package/dist/{chunk-O332K3SW.js → chunk-UK3LP7VH.js} +2 -2
- package/dist/{chunk-QMAINJ4G.js → chunk-VM2PEQLQ.js} +2 -2
- package/dist/chunk-VM2PEQLQ.js.map +1 -0
- package/dist/chunk-W72CR2TG.js +71 -0
- package/dist/chunk-W72CR2TG.js.map +1 -0
- package/dist/{chunk-EBFQFOUQ.js → chunk-WVY3C64M.js} +3 -3
- package/dist/chunk-WVY3C64M.js.map +1 -0
- package/dist/{chunk-SOKGYD5B.js → chunk-YFR3HXSV.js} +2 -2
- package/dist/index.js +8 -8
- package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/index.js +3 -3
- package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-body.js +2 -2
- package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/index.js +5 -5
- package/dist/molecules/curriculumV2/CurriculumContents/curriculum-review.js +6 -6
- package/dist/molecules/curriculumV2/CurriculumContents/index.js +8 -8
- package/dist/molecules/curriculumV2/index.js +8 -8
- package/dist/molecules/index.js +8 -8
- package/package.json +1 -1
- package/src/app/roleplay/parts/content.tsx +3 -3
- package/src/app/roleplay/parts/header.tsx +1 -1
- package/src/app/roleplay/parts/score-summary.tsx +4 -57
- package/src/app/roleplay/parts/score-trend-section.tsx +19 -9
- package/src/app/roleplay/parts/script-transcript.tsx +9 -64
- package/src/app/roleplay/parts/section-nav.tsx +3 -2
- package/src/app/roleplay/parts/speech-share-bar.tsx +54 -0
- package/src/app/roleplay/parts/step-summary.tsx +2 -4
- package/dist/chunk-2TOASXPK.js.map +0 -1
- package/dist/chunk-6YIKOYBQ.js.map +0 -1
- package/dist/chunk-EBFQFOUQ.js.map +0 -1
- package/dist/chunk-EHDUKUML.js.map +0 -1
- package/dist/chunk-NKW6BO5R.js.map +0 -1
- package/dist/chunk-QMAINJ4G.js.map +0 -1
- package/dist/chunk-XM4GWPXC.js.map +0 -1
- /package/dist/{chunk-U2EAXN3Y.js.map → chunk-A32HLL53.js.map} +0 -0
- /package/dist/{chunk-3UGBMKSQ.js.map → chunk-AS3JVRQ3.js.map} +0 -0
- /package/dist/{chunk-N242VJOP.js.map → chunk-IIZ7I7NS.js.map} +0 -0
- /package/dist/{chunk-LRNO4W2P.js.map → chunk-NSDVLCCW.js.map} +0 -0
- /package/dist/{chunk-T7LKMJVA.js.map → chunk-SZAU7YP3.js.map} +0 -0
- /package/dist/{chunk-O332K3SW.js.map → chunk-UK3LP7VH.js.map} +0 -0
- /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/
|
|
2466
|
+
// src/app/roleplay/parts/speech-share-bar.tsx
|
|
2472
2467
|
var import_jsx_runtime63 = require("react/jsx-runtime");
|
|
2473
|
-
function SpeechShareBar({
|
|
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: "
|
|
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
|
-
|
|
2496
|
-
|
|
2497
|
-
|
|
2498
|
-
|
|
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,
|
|
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,
|
|
2557
|
-
/* @__PURE__ */ (0,
|
|
2558
|
-
/* @__PURE__ */ (0,
|
|
2559
|
-
/* @__PURE__ */ (0,
|
|
2560
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
2578
|
-
/* @__PURE__ */ (0,
|
|
2579
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
2583
|
-
/* @__PURE__ */ (0,
|
|
2584
|
-
/* @__PURE__ */ (0,
|
|
2585
|
-
report.deduction ? /* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
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
|
-
|
|
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
|
|
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,
|
|
2661
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
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,
|
|
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
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
2811
|
-
/* @__PURE__ */ (0,
|
|
2812
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
2874
|
-
return /* @__PURE__ */ (0,
|
|
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,
|
|
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
|
|
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
|
|
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,
|
|
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,
|
|
2988
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
3045
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
3035
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(import_react_icons2.ChevronLeftIcon, {})
|
|
3054
3036
|
}
|
|
3055
3037
|
),
|
|
3056
|
-
/* @__PURE__ */ (0,
|
|
3057
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
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,
|
|
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
|
|
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
|
|
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
|
|
3102
|
+
var import_jsx_runtime71 = require("react/jsx-runtime");
|
|
3121
3103
|
|
|
3122
3104
|
// src/molecules/learning-post.tsx
|
|
3123
|
-
var
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
3151
|
+
var import_jsx_runtime77 = require("react/jsx-runtime");
|
|
3170
3152
|
|
|
3171
3153
|
// src/molecules/ghost-post.tsx
|
|
3172
|
-
var
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
3184
|
+
var import_jsx_runtime83 = require("react/jsx-runtime");
|
|
3203
3185
|
|
|
3204
3186
|
// src/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/complete-review.tsx
|
|
3205
|
-
var
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
3217
|
+
var import_jsx_runtime93 = require("react/jsx-runtime");
|
|
3236
3218
|
|
|
3237
3219
|
// src/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/index.tsx
|
|
3238
|
-
var
|
|
3220
|
+
var import_jsx_runtime94 = require("react/jsx-runtime");
|
|
3239
3221
|
|
|
3240
3222
|
// src/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/index.tsx
|
|
3241
|
-
var
|
|
3223
|
+
var import_jsx_runtime95 = require("react/jsx-runtime");
|
|
3242
3224
|
|
|
3243
3225
|
// src/molecules/curriculumV2/CurriculumContents/curriculum-review.tsx
|
|
3244
|
-
var
|
|
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
|
|
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
|
|
3234
|
+
var import_jsx_runtime98 = require("react/jsx-runtime");
|
|
3253
3235
|
|
|
3254
3236
|
// src/molecules/curriculumV2/CurriculumContents/index.tsx
|
|
3255
|
-
var
|
|
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
|
|
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
|
|
3246
|
+
var import_jsx_runtime101 = require("react/jsx-runtime");
|
|
3265
3247
|
|
|
3266
3248
|
// src/molecules/curriculumV2/CurriculumSidebar/Items/curriculum-item-title.tsx
|
|
3267
|
-
var
|
|
3249
|
+
var import_jsx_runtime102 = require("react/jsx-runtime");
|
|
3268
3250
|
|
|
3269
3251
|
// src/molecules/curriculumV2/CurriculumSidebar/Items/section-item.tsx
|
|
3270
|
-
var
|
|
3252
|
+
var import_jsx_runtime103 = require("react/jsx-runtime");
|
|
3271
3253
|
|
|
3272
3254
|
// src/molecules/curriculumV2/CurriculumSidebar/sidebar-item.tsx
|
|
3273
|
-
var
|
|
3255
|
+
var import_jsx_runtime104 = require("react/jsx-runtime");
|
|
3274
3256
|
|
|
3275
3257
|
// src/molecules/curriculumV2/CurriculumSidebar/index.tsx
|
|
3276
|
-
var
|
|
3258
|
+
var import_jsx_runtime105 = require("react/jsx-runtime");
|
|
3277
3259
|
|
|
3278
3260
|
// src/molecules/curriculumV2/curriculum-v2-layout.tsx
|
|
3279
|
-
var
|
|
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
|
|
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
|
|
3275
|
+
var import_jsx_runtime108 = require("react/jsx-runtime");
|
|
3294
3276
|
|
|
3295
3277
|
// src/molecules/dynamic-form.tsx
|
|
3296
|
-
var
|
|
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
|
|
3282
|
+
var import_jsx_runtime110 = require("react/jsx-runtime");
|
|
3301
3283
|
|
|
3302
3284
|
// src/molecules/description-json-render.tsx
|
|
3303
|
-
var
|
|
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
|
|
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
|
|
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
|
|
3303
|
+
var import_jsx_runtime114 = require("react/jsx-runtime");
|
|
3322
3304
|
|
|
3323
3305
|
// src/molecules/dynamic-form-editor-issues-panel.tsx
|
|
3324
|
-
var
|
|
3306
|
+
var import_jsx_runtime115 = require("react/jsx-runtime");
|
|
3325
3307
|
|
|
3326
3308
|
// src/molecules/dynamic-form-editor-preview-panel.tsx
|
|
3327
|
-
var
|
|
3309
|
+
var import_jsx_runtime116 = require("react/jsx-runtime");
|
|
3328
3310
|
|
|
3329
3311
|
// src/molecules/dynamic-form-editor.tsx
|
|
3330
|
-
var
|
|
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
|
|
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,
|
|
3462
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
3489
|
-
slotRight && /* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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
|
|
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
|
|
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,
|
|
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,
|
|
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
|
|
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,
|
|
3871
|
-
/* @__PURE__ */ (0,
|
|
3872
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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:
|
|
4006
|
-
meta: {
|
|
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:
|
|
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:
|
|
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:
|
|
4027
|
-
meta: { align: "
|
|
4015
|
+
size: 64,
|
|
4016
|
+
meta: { autoSize: true, align: "left" },
|
|
4028
4017
|
cell: DeltaCell
|
|
4029
4018
|
})
|
|
4030
4019
|
];
|
|
4031
4020
|
}, []);
|
|
4032
|
-
return /* @__PURE__ */ (0,
|
|
4021
|
+
return /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(
|
|
4033
4022
|
Section4,
|
|
4034
4023
|
{
|
|
4035
|
-
desc: `\
|
|
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,
|
|
4038
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
4035
|
+
/* @__PURE__ */ (0, import_jsx_runtime121.jsx)(Chart, { option })
|
|
4047
4036
|
]
|
|
4048
4037
|
}
|
|
4049
4038
|
),
|
|
4050
|
-
/* @__PURE__ */ (0,
|
|
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
|
|
4057
|
+
var import_jsx_runtime122 = require("react/jsx-runtime");
|
|
4068
4058
|
var NAV_ICONS = {
|
|
4069
|
-
"score-summary": /* @__PURE__ */ (0,
|
|
4070
|
-
/* @__PURE__ */ (0,
|
|
4071
|
-
/* @__PURE__ */ (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,
|
|
4074
|
-
improvements: /* @__PURE__ */ (0,
|
|
4075
|
-
/* @__PURE__ */ (0,
|
|
4076
|
-
/* @__PURE__ */ (0,
|
|
4077
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
4080
|
-
/* @__PURE__ */ (0,
|
|
4081
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
4084
|
-
"step-detail": /* @__PURE__ */ (0,
|
|
4085
|
-
/* @__PURE__ */ (0,
|
|
4086
|
-
/* @__PURE__ */ (0,
|
|
4087
|
-
/* @__PURE__ */ (0,
|
|
4088
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
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,
|
|
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
|
|
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,
|
|
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,
|
|
4171
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
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,
|
|
4202
|
-
NAV_ICONS[item.id] ? /* @__PURE__ */ (0,
|
|
4203
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
4215
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
4237
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
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,
|
|
4261
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
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,
|
|
4284
|
+
/* @__PURE__ */ (0, import_jsx_runtime122.jsx)(StepMetricBadge, { step })
|
|
4294
4285
|
] }),
|
|
4295
|
-
ratio !== null ? /* @__PURE__ */ (0,
|
|
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
|
|
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,
|
|
4311
|
-
/* @__PURE__ */ (0,
|
|
4312
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
4324
|
-
/* @__PURE__ */ (0,
|
|
4325
|
-
/* @__PURE__ */ (0,
|
|
4326
|
-
/* @__PURE__ */ (0,
|
|
4327
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
4330
|
-
scoreText !== null ? /* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
4362
|
-
step.description ? /* @__PURE__ */ (0,
|
|
4363
|
-
/* @__PURE__ */ (0,
|
|
4364
|
-
step.basis || step.issue ? /* @__PURE__ */ (0,
|
|
4365
|
-
step.basis ? /* @__PURE__ */ (0,
|
|
4366
|
-
step.issue ? /* @__PURE__ */ (0,
|
|
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,
|
|
4369
|
-
step.improve ? /* @__PURE__ */ (0,
|
|
4370
|
-
step.example ? /* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
4403
|
-
/* @__PURE__ */ (0,
|
|
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
|
|
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,
|
|
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,
|
|
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
|
|
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,
|
|
4501
|
-
/* @__PURE__ */ (0,
|
|
4502
|
-
/* @__PURE__ */ (0,
|
|
4503
|
-
desc ? /* @__PURE__ */ (0,
|
|
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 =
|
|
4512
|
-
const list = /* @__PURE__ */ (0,
|
|
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,
|
|
4517
|
-
i > 0 && /* @__PURE__ */ (0,
|
|
4518
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
4536
|
-
/* @__PURE__ */ (0,
|
|
4537
|
-
/* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
4563
|
-
scoreText !== null ? /* @__PURE__ */ (0,
|
|
4564
|
-
gradeLabel !== null ? /* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
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,
|
|
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
|
|
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,
|
|
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,
|
|
4629
|
-
report.frameworkTitle !== null || report.frameworkDescription !== null ? /* @__PURE__ */ (0,
|
|
4630
|
-
report.frameworkTitle !== null ? /* @__PURE__ */ (0,
|
|
4631
|
-
report.frameworkDescription !== null ? /* @__PURE__ */ (0,
|
|
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,
|
|
4634
|
-
strengths.length > 0 ? /* @__PURE__ */ (0,
|
|
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 \
|
|
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,
|
|
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 \
|
|
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,
|
|
4653
|
-
showStepSummary ? /* @__PURE__ */ (0,
|
|
4654
|
-
showStepDetail ? /* @__PURE__ */ (0,
|
|
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 \
|
|
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,
|
|
4660
|
-
i > 0 ? /* @__PURE__ */ (0,
|
|
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,
|
|
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,
|
|
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,
|
|
4665
|
+
/* @__PURE__ */ (0, import_jsx_runtime126.jsx)(SectionNav, { items: navItems, steps: showStepDetail ? steps : [] })
|
|
4675
4666
|
]
|
|
4676
4667
|
}
|
|
4677
4668
|
);
|