@edu-tosel/design 1.0.265 → 1.0.267
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/asset/SVG.d.ts +4 -0
- package/asset/SVG.js +4 -0
- package/asset/SVG.tsx +4 -0
- package/asset/svg/MiniClose.d.ts +4 -0
- package/asset/svg/MiniClose.js +4 -0
- package/asset/svg/MiniClose.tsx +19 -0
- package/asset/svg/Search.d.ts +1 -0
- package/asset/svg/Search.js +4 -0
- package/asset/svg/Search.tsx +24 -0
- package/board/design/Header.design.d.ts +1 -1
- package/board/design/Header.design.js +12 -3
- package/board/template/CanvasBoard.js +1 -1
- package/globals.css +14 -2
- package/interface/Board.d.ts +11 -1
- package/interface/Shelf.d.ts +1 -0
- package/interface/domain/Tag.d.ts +1 -1
- package/interface/domain/Tag.js +2 -1
- package/interface/widget/Carousel.d.ts +1 -1
- package/layout/design/Shelf.design.js +2 -2
- package/layout/index.d.ts +0 -9
- package/layout/index.js +0 -9
- package/layout/template/Ticket/Extension.js +2 -2
- package/layout/template/home/Promotion.js +1 -0
- package/layout/template/home/Service.js +1 -0
- package/layout/template/home/layout/Carousel.js +27 -8
- package/layout/template/home/layout/Navigation.js +117 -22
- package/package.json +2 -2
- package/util/createSearch.d.ts +5 -0
- package/util/createSearch.js +235 -0
- package/util/handlePrint.d.ts +1 -1
- package/util/handlePrint.js +1 -1
- package/util/index.d.ts +1 -0
- package/util/index.js +1 -0
- package/version.txt +1 -1
- package/widget/template/Input/index.js +8 -0
- package/layout/template/About/SectionA.d.ts +0 -1
- package/layout/template/About/SectionA.js +0 -51
- package/layout/template/About/SectionB.d.ts +0 -2
- package/layout/template/About/SectionB.js +0 -55
- package/layout/template/About/SectionC.d.ts +0 -1
- package/layout/template/About/SectionC.js +0 -35
- package/layout/template/About/SectionCCards.d.ts +0 -13
- package/layout/template/About/SectionCCards.js +0 -13
- package/layout/template/About/SectionCD.d.ts +0 -1
- package/layout/template/About/SectionCD.js +0 -15
- package/layout/template/About/SectionCLeaf.d.ts +0 -15
- package/layout/template/About/SectionCLeaf.js +0 -104
- package/layout/template/About/SectionD.d.ts +0 -1
- package/layout/template/About/SectionD.js +0 -131
- package/layout/template/About/SectionE.d.ts +0 -1
- package/layout/template/About/SectionE.js +0 -7
- package/layout/template/About/SectionECards.d.ts +0 -1
- package/layout/template/About/SectionECards.js +0 -79
- package/layout/template/About/SectionF.d.ts +0 -1
- package/layout/template/About/SectionF.js +0 -4
- package/layout/template/About/SectionG.d.ts +0 -10
- package/layout/template/About/SectionG.js +0 -27
- package/layout/template/About/index.d.ts +0 -19
- package/layout/template/About/index.js +0 -19
- package/layout/template/Books/Books.layout.d.ts +0 -1
- package/layout/template/Books/Books.layout.js +0 -13
- package/layout/template/Books/SectionA.d.ts +0 -2
- package/layout/template/Books/SectionA.js +0 -430
- package/layout/template/Books/index.d.ts +0 -5
- package/layout/template/Books/index.js +0 -5
- package/layout/template/MonthlyProgressReport/Layout.d.ts +0 -4
- package/layout/template/MonthlyProgressReport/Layout.js +0 -52
- package/layout/template/MonthlyProgressReport/Report.d.ts +0 -46
- package/layout/template/MonthlyProgressReport/Report.js +0 -124
- package/layout/template/MonthlyProgressReport/index.d.ts +0 -8
- package/layout/template/MonthlyProgressReport/index.js +0 -7
- package/layout/template/Olympiad/Banner.d.ts +0 -1
- package/layout/template/Olympiad/Banner.js +0 -31
- package/layout/template/Olympiad/Conditions.d.ts +0 -1
- package/layout/template/Olympiad/Conditions.js +0 -168
- package/layout/template/Olympiad/Features.d.ts +0 -1
- package/layout/template/Olympiad/Features.js +0 -44
- package/layout/template/Olympiad/Olympiad.layout.d.ts +0 -1
- package/layout/template/Olympiad/Olympiad.layout.js +0 -19
- package/layout/template/Olympiad/Prizes.d.ts +0 -1
- package/layout/template/Olympiad/Prizes.js +0 -49
- package/layout/template/Olympiad/Sponsors.d.ts +0 -1
- package/layout/template/Olympiad/Sponsors.js +0 -31
- package/layout/template/Olympiad/Videoset.d.ts +0 -1
- package/layout/template/Olympiad/Videoset.js +0 -71
- package/layout/template/Olympiad/index.d.ts +0 -15
- package/layout/template/Olympiad/index.js +0 -15
- package/layout/template/Regexam/Banner.d.ts +0 -1
- package/layout/template/Regexam/Banner.js +0 -183
- package/layout/template/Regexam/Evaluation.d.ts +0 -3
- package/layout/template/Regexam/Evaluation.js +0 -132
- package/layout/template/Regexam/OfflineExam.d.ts +0 -4
- package/layout/template/Regexam/OfflineExam.js +0 -204
- package/layout/template/Regexam/Regexam.layout.d.ts +0 -1
- package/layout/template/Regexam/Regexam.layout.js +0 -13
- package/layout/template/Regexam/Types.d.ts +0 -1
- package/layout/template/Regexam/Types.js +0 -294
- package/layout/template/Regexam/index.d.ts +0 -11
- package/layout/template/Regexam/index.js +0 -11
- package/layout/template/Transcript/Layout.d.ts +0 -6
- package/layout/template/Transcript/Layout.js +0 -52
- package/layout/template/Transcript/design/Transcript.d.ts +0 -228
- package/layout/template/Transcript/design/Transcript.design.d.ts +0 -13
- package/layout/template/Transcript/design/Transcript.design.js +0 -58
- package/layout/template/Transcript/design/Transcript.js +0 -181
- package/layout/template/Transcript/design/TranscriptAdvanced.design.d.ts +0 -5
- package/layout/template/Transcript/design/TranscriptAdvanced.design.js +0 -55
- package/layout/template/Transcript/design/atom/CardTitle.d.ts +0 -5
- package/layout/template/Transcript/design/atom/CardTitle.js +0 -13
- package/layout/template/Transcript/design/atom/CardTitleDivided.d.ts +0 -0
- package/layout/template/Transcript/design/atom/CardTitleDivided.js +0 -1
- package/layout/template/Transcript/design/atom/GetPartDescriptionFromLevel.d.ts +0 -3
- package/layout/template/Transcript/design/atom/GetPartDescriptionFromLevel.js +0 -4
- package/layout/template/Transcript/design/atom/GetPartTitleFromLevel.d.ts +0 -3
- package/layout/template/Transcript/design/atom/GetPartTitleFromLevel.js +0 -4
- package/layout/template/Transcript/design/atom/GetStyleFromLevel.d.ts +0 -2
- package/layout/template/Transcript/design/atom/GetStyleFromLevel.js +0 -4
- package/layout/template/Transcript/design/atom/LevelToPartDescriptionMap.d.ts +0 -6
- package/layout/template/Transcript/design/atom/LevelToPartDescriptionMap.js +0 -95
- package/layout/template/Transcript/design/atom/LevelToPartTitleMap.d.ts +0 -6
- package/layout/template/Transcript/design/atom/LevelToPartTitleMap.js +0 -95
- package/layout/template/Transcript/design/atom/LevelToStyleMap.d.ts +0 -6
- package/layout/template/Transcript/design/atom/LevelToStyleMap.js +0 -42
- package/layout/template/Transcript/design/atom/PrintBoxStyles.d.ts +0 -4
- package/layout/template/Transcript/design/atom/PrintBoxStyles.js +0 -4
- package/layout/template/Transcript/design/molecule/BarGraph.d.ts +0 -11
- package/layout/template/Transcript/design/molecule/BarGraph.js +0 -81
- package/layout/template/Transcript/design/molecule/BarGraphDuo.d.ts +0 -10
- package/layout/template/Transcript/design/molecule/BarGraphDuo.js +0 -6
- package/layout/template/Transcript/design/molecule/BarGraphMulti.d.ts +0 -11
- package/layout/template/Transcript/design/molecule/BarGraphMulti.js +0 -9
- package/layout/template/Transcript/design/molecule/CircularGauge.d.ts +0 -10
- package/layout/template/Transcript/design/molecule/CircularGauge.js +0 -68
- package/layout/template/Transcript/design/molecule/LSWRChart.d.ts +0 -11
- package/layout/template/Transcript/design/molecule/LSWRChart.js +0 -44
- package/layout/template/Transcript/design/molecule/LevelIndex.d.ts +0 -3
- package/layout/template/Transcript/design/molecule/LevelIndex.js +0 -14
- package/layout/template/Transcript/design/molecule/MIChart.d.ts +0 -1
- package/layout/template/Transcript/design/molecule/MIChart.js +0 -51
- package/layout/template/Transcript/design/molecule/OCIChart.d.ts +0 -1
- package/layout/template/Transcript/design/molecule/OCIChart.js +0 -60
- package/layout/template/Transcript/design/molecule/RadarGraph.d.ts +0 -10
- package/layout/template/Transcript/design/molecule/RadarGraph.js +0 -5
- package/layout/template/Transcript/design/organism/BarCardCol.d.ts +0 -8
- package/layout/template/Transcript/design/organism/BarCardCol.js +0 -30
- package/layout/template/Transcript/design/organism/BarCardRow.d.ts +0 -8
- package/layout/template/Transcript/design/organism/BarCardRow.js +0 -30
- package/layout/template/Transcript/design/organism/HonorCard.d.ts +0 -4
- package/layout/template/Transcript/design/organism/HonorCard.js +0 -16
- package/layout/template/Transcript/design/organism/IdCard.d.ts +0 -8
- package/layout/template/Transcript/design/organism/IdCard.js +0 -64
- package/layout/template/Transcript/design/organism/IntelligenceCard.d.ts +0 -12
- package/layout/template/Transcript/design/organism/IntelligenceCard.js +0 -39
- package/layout/template/Transcript/design/organism/NationalPositionCard.d.ts +0 -4
- package/layout/template/Transcript/design/organism/NationalPositionCard.js +0 -14
- package/layout/template/Transcript/design/organism/OCICard.d.ts +0 -4
- package/layout/template/Transcript/design/organism/OCICard.js +0 -17
- package/layout/template/Transcript/design/organism/PerformanceCard.d.ts +0 -5
- package/layout/template/Transcript/design/organism/PerformanceCard.js +0 -25
- package/layout/template/Transcript/design/organism/RadarCard.d.ts +0 -7
- package/layout/template/Transcript/design/organism/RadarCard.js +0 -54
- package/layout/template/Transcript/design/organism/ResultGaugeCard.d.ts +0 -7
- package/layout/template/Transcript/design/organism/ResultGaugeCard.js +0 -19
- package/layout/template/Transcript/design/organism/ScoreCard.d.ts +0 -4
- package/layout/template/Transcript/design/organism/ScoreCard.js +0 -11
- package/layout/template/Transcript/design/organism/SectionRadarCard.d.ts +0 -8
- package/layout/template/Transcript/design/organism/SectionRadarCard.js +0 -42
- package/layout/template/Transcript/index.d.ts +0 -11
- package/layout/template/Transcript/index.js +0 -9
- package/layout/template/Transcript/interface.d.ts +0 -50
- package/layout/template/Transcript/interface.js +0 -1
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
import { jsxs as _jsxs, jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
-
import { useState } from "react";
|
|
3
|
-
import { useResponsive } from "../../../../../hook";
|
|
4
|
-
import { cn, copyToClipboard } from "../../../../../util";
|
|
5
|
-
import { GetStyleFromLevel } from "../atom/GetStyleFromLevel";
|
|
6
|
-
import SVG from "../../../../../asset/SVG";
|
|
7
|
-
import { CircularGauge } from "../molecule/CircularGauge";
|
|
8
|
-
export default function IdCard({ info, option, score, }) {
|
|
9
|
-
const [isExpanded, setIsExpanded] = useState(false);
|
|
10
|
-
const togglecard = () => setIsExpanded(!isExpanded);
|
|
11
|
-
//반응형 info 카드 height 문제로 눌러서 자세히 보기 차후 구현 예정
|
|
12
|
-
const isXS = useResponsive("xs");
|
|
13
|
-
const cardWrapper = {
|
|
14
|
-
displays: "flex flex-col self-auto overflow-hidden",
|
|
15
|
-
sizes: "w-full rounded-lg h-fit",
|
|
16
|
-
backgrounds: "bg-white shadow-main",
|
|
17
|
-
spacings: "p-3",
|
|
18
|
-
printOptions: "print:bg-white print:shadow-none",
|
|
19
|
-
};
|
|
20
|
-
const imgBox = {
|
|
21
|
-
displays: "relative shrink-0 overflow-hidden",
|
|
22
|
-
sizes: "h-30 aspect-7/9 rounded-lg",
|
|
23
|
-
backgrounds: info.imgSrc ?? "bg-jr-blue-light",
|
|
24
|
-
outlines: "border-2 border-slate-200",
|
|
25
|
-
};
|
|
26
|
-
const qrBox = {
|
|
27
|
-
displays: "shrink-0 hidden sm:block relative overflow-hidden",
|
|
28
|
-
sizes: "h-30 p-2 aspect-square rounded-lg",
|
|
29
|
-
textStyles: "text-jr-blue",
|
|
30
|
-
backgrounds: !!info.qr && "print:border-2 print:border-green-dark",
|
|
31
|
-
groupAction: !!info.qr && "group duration-300 hover:scale-110 bg-white",
|
|
32
|
-
};
|
|
33
|
-
const copyButtonWrapper = {
|
|
34
|
-
display: "absolute flex justify-center items-center",
|
|
35
|
-
positions: "top-0 left-0",
|
|
36
|
-
sizes: "h-full w-full backdrop-blur-sm",
|
|
37
|
-
graphics: "opacity-0 bg-white/80 ",
|
|
38
|
-
animations: "duration-300 group-hover:opacity-100",
|
|
39
|
-
};
|
|
40
|
-
const levelTag = {
|
|
41
|
-
display: "flex justify-center items-center",
|
|
42
|
-
textStyles: "text-center",
|
|
43
|
-
variableStyle: `text-center text-xs font-bold ${GetStyleFromLevel(info.level, "textcolor")}`,
|
|
44
|
-
backgrounds: GetStyleFromLevel(info.level, "bgcolor"),
|
|
45
|
-
sizes: isXS
|
|
46
|
-
? "rounded-md w-fit h-fit px-2 py-1"
|
|
47
|
-
: "rounded-md w-full h-full",
|
|
48
|
-
printOptions: "print:w-fit print:h-fit print:px-2 print:py-1",
|
|
49
|
-
};
|
|
50
|
-
const copyButton = {
|
|
51
|
-
displays: "flex justify-center items-center",
|
|
52
|
-
sizes: "w-20 h-8 rounded-lg",
|
|
53
|
-
colors: "bg-green-light border border-green-dark",
|
|
54
|
-
textStyles: "text-xs text-green-dark font-medium text-center",
|
|
55
|
-
animations: "hover:bg-green-dark hover:text-white duration-300 cursor-pointer",
|
|
56
|
-
};
|
|
57
|
-
const gaugeWrapper = {
|
|
58
|
-
displays: "absolute flex justify-center items-center",
|
|
59
|
-
position: "top-0 left-0",
|
|
60
|
-
sizes: "w-full h-full",
|
|
61
|
-
backgrounds: "bg-white",
|
|
62
|
-
};
|
|
63
|
-
return (_jsxs("div", { className: "flex flex-row w-full h-fit mt-5 gap-5", children: [_jsxs("div", { className: cn(cardWrapper), children: [_jsxs("div", { className: "flex flex-row justify-between items-center pb-1 w-full h-fit border-b-2 border-green-dark", children: [_jsxs("div", { className: "flex flex-col", children: [_jsxs("div", { className: "flex flex-[3] text-sm truncate font-bold text-green-dark", children: [info.name, " ", info.nickname && _jsxs("span", { children: [" \u00A0/ ", info.nickname] })] }), _jsx("div", { className: "flex flex-[1] text-sm", children: info.birthday })] }), _jsx("div", { className: "w-fit h-full xs:block hidden", children: _jsx("div", { className: cn(levelTag), children: GetStyleFromLevel(info.level, "name") }) })] }), _jsxs("div", { className: "flex flex-col xs:flex-row w-full h-fit mt-2", children: [_jsxs("div", { className: "flex flex-3 text-sm truncate", children: [_jsx("div", { className: "flex flex-2 text-green-dark font-bold", children: "\uC218\uD5D8\uBC88\uD638:" }), _jsx("div", { className: "flex flex-3", children: info.code })] }), _jsxs("div", { className: "flex flex-3 text-sm truncate", children: [_jsx("div", { className: "flex flex-2 text-green-dark font-bold", children: "\uC2DC\uD5D8\uC77C:" }), _jsx("div", { className: "flex flex-3", children: info.examDate })] })] }), _jsxs("div", { className: "flex flex-col xs:flex-row w-full h-fit", children: [_jsxs("div", { className: "flex flex-3 text-sm truncate", children: [_jsx("div", { className: "flex flex-2 text-green-dark font-bold", children: "\uC720\uD6A8\uAE30\uAC04:" }), _jsx("div", { className: "flex flex-3", children: info.examValidAt })] }), _jsxs("div", { className: "flex flex-3 text-sm truncate", children: [_jsx("div", { className: "flex flex-2 text-green-dark font-bold", children: "\uC2DC\uD5D8\uD68C\uCC28:" }), _jsx("div", { className: "flex flex-3", children: info.examName })] })] })] }), _jsxs("div", { className: cn(qrBox), children: [option?.isAdvanced ? (_jsx("div", { className: cn(gaugeWrapper), children: score && (_jsx(CircularGauge, { maxScore: 990, noAnimation: false, score: score, theme: "green" })) })) : (!info.qr && (_jsx("div", { className: "absolute top-0 left-0 w-full h-full flex justify-center items-center", children: _jsx("img", { src: "https://resource.tosel.co.kr/images/logo-itc-classic.png", alt: "qr" }) }))), info.qr && (_jsxs(_Fragment, { children: [info.qr, _jsx("div", { className: cn(copyButtonWrapper), children: _jsxs("div", { className: "flex flex-col gap-2", children: [_jsx("div", { className: "flex justify-center items-center ", children: _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", "stroke-width": "1.5", className: "size-6 stroke-green-dark", children: _jsx("path", { "stroke-linecap": "round", "stroke-linejoin": "round", d: "M13.5 6H5.25A2.25 2.25 0 0 0 3 8.25v10.5A2.25 2.25 0 0 0 5.25 21h10.5A2.25 2.25 0 0 0 18 18.75V10.5m-10.5 6L21 3m0 0h-5.25M21 3v5.25" }) }) }), _jsx("div", { className: cn(copyButton), onClick: () => copyToClipboard(info.qrSrc), children: "\uACF5\uC720\uD558\uAE30" })] }) })] }))] }), _jsxs("div", { className: "flex flex-col shrink-0", children: [_jsxs("div", { className: cn(imgBox), children: [!info.imgSrc && (_jsx("div", { className: "absolute w-full h-full flex justify-center items-center text-jr-blue", children: _jsx(SVG.User, {}) })), info.imgSrc && (_jsx("img", { src: info.imgSrc, alt: "", className: "object-cover w-full h-full" }))] }), !isXS && (_jsx("div", { className: "w-full h-full mt-3 flex", children: _jsx("div", { className: "w-full h-full block xs:hidden", children: _jsx("div", { className: cn(levelTag), children: GetStyleFromLevel(info.level, "name") }) }) }))] })] }));
|
|
64
|
-
}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { MultipleIntelligence, Theme } from "../../interface";
|
|
2
|
-
export declare function IntelligenceCard({ data, theme, }: {
|
|
3
|
-
data: MultipleIntelligence;
|
|
4
|
-
theme: Theme;
|
|
5
|
-
}): import("react/jsx-runtime").JSX.Element;
|
|
6
|
-
interface IntelligenceData {
|
|
7
|
-
name: string;
|
|
8
|
-
data: number;
|
|
9
|
-
}
|
|
10
|
-
export declare function prepareIntelligenceData(data: MultipleIntelligence): IntelligenceData[];
|
|
11
|
-
export declare function engIntelligenceToKor(eng: string): string;
|
|
12
|
-
export {};
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { cn } from "../../../../../util";
|
|
3
|
-
import CardTitle from "../atom/CardTitle";
|
|
4
|
-
import { printBoxStyles } from "../atom/PrintBoxStyles";
|
|
5
|
-
import { BarGraphMulti } from "../molecule/BarGraphMulti";
|
|
6
|
-
export function IntelligenceCard({ data, theme, }) {
|
|
7
|
-
const cardWrapper = {
|
|
8
|
-
displays: "flex flex-col relative",
|
|
9
|
-
sizes: "w-full rounded-lg overflow-hidden",
|
|
10
|
-
backgrounds: "bg-white shadow-main",
|
|
11
|
-
sapcings: "mt-5",
|
|
12
|
-
};
|
|
13
|
-
return (_jsxs("div", { className: cn(cardWrapper, printBoxStyles, "print:hidden"), children: [_jsx(CardTitle, { title: "8\uAC00\uC9C0 \uC9C0\uB2A5", theme: theme }), _jsx(BarGraphMulti, { maxScore: 1, data: prepareIntelligenceData(data), theme: theme })] }));
|
|
14
|
-
}
|
|
15
|
-
export function prepareIntelligenceData(data) {
|
|
16
|
-
const intelligenceArray = Object.entries(data).map(([name, data]) => {
|
|
17
|
-
return { name: engIntelligenceToKor(name), data };
|
|
18
|
-
});
|
|
19
|
-
return intelligenceArray;
|
|
20
|
-
}
|
|
21
|
-
export function engIntelligenceToKor(eng) {
|
|
22
|
-
if (eng === "musical")
|
|
23
|
-
return "음악지능";
|
|
24
|
-
if (eng === "bodilyKinesthetic")
|
|
25
|
-
return "신체운동지능";
|
|
26
|
-
if (eng === "logicalMathematical")
|
|
27
|
-
return "논리수학지능";
|
|
28
|
-
if (eng === "linguistic")
|
|
29
|
-
return "언어지능";
|
|
30
|
-
if (eng === "spatial")
|
|
31
|
-
return "공간지능";
|
|
32
|
-
if (eng === "interpersonal")
|
|
33
|
-
return "인간친화지능";
|
|
34
|
-
if (eng === "naturalist")
|
|
35
|
-
return "자연친화지능";
|
|
36
|
-
if (eng === "intrapersonal")
|
|
37
|
-
return "자기성찰지능";
|
|
38
|
-
throw new Error(`Unknown intelligence type: ${eng}`);
|
|
39
|
-
}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { cn } from "../../../../../util";
|
|
3
|
-
import { printBoxStyles } from "../atom/PrintBoxStyles";
|
|
4
|
-
export function NationalPositionCard({ result }) {
|
|
5
|
-
const percentRank = result.percentRank.toFixed(2);
|
|
6
|
-
const cardWrapper = {
|
|
7
|
-
displays: "flex flex-col relative",
|
|
8
|
-
sizes: "w-full rounded-lg overflow-hidden",
|
|
9
|
-
outline: "border-2 border-green-dark/50",
|
|
10
|
-
};
|
|
11
|
-
return (_jsx("div", { className: cn(cardWrapper, printBoxStyles, "flex-[1] h-fit p-2 mt-5 xxs:text-sm text-xs text-green-dark print:hidden text-center font-medium", percentRank == "0.00"
|
|
12
|
-
? "bg-green-light shadow-green"
|
|
13
|
-
: "bg-white shadow-main"), children: result.percentRank == 0 ? (_jsxs("div", { children: [_jsx("span", { children: "\uCD95\uD558\uD569\uB2C8\uB2E4! \uC774\uBC88 \uC2DC\uD5D8\uC5D0\uC11C " }), _jsx("span", { className: "font-bold", children: "\uC804\uAD6D 1\uB4F1" }), "\uC744 \uAE30\uB85D\uD588\uC5B4\uC694!"] })) : (_jsxs("div", { children: ["\uC774\uBC88 \uC2DC\uD5D8\uC5D0\uC11C \uC804\uAD6D\uC0C1\uC704", " ", _jsxs("span", { className: "font-bold", children: [percentRank, "%"] }), "\uB97C \uAE30\uB85D\uD588\uC5B4\uC694."] })) }));
|
|
14
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { cn } from "../../../../../util";
|
|
3
|
-
import { BarGraphDuo } from "../molecule/BarGraphDuo";
|
|
4
|
-
export function OCICard({ data }) {
|
|
5
|
-
const cellHeader = {
|
|
6
|
-
textStyles: "text-center text-white text-sm font-medium",
|
|
7
|
-
displays: "flex justify-center items-center",
|
|
8
|
-
spacings: "p-2",
|
|
9
|
-
};
|
|
10
|
-
const cellNormal = {
|
|
11
|
-
textStyles: "text-center text-gray-dark",
|
|
12
|
-
displays: "flex justify-center items-center",
|
|
13
|
-
};
|
|
14
|
-
return (_jsx("div", { className: cn("overflow-auto w-full scrollbar-hidden rounded-lg mt-5 print:border print:border-gray-medium/70 cursor-default shadow-main print:shadow-none"), children: _jsxs("div", { className: "min-w-[172mm] w-full", children: [_jsxs("div", { className: "flex flex-row bg-gradient-to-r from-crimson-burgundy to-green-dark", children: [_jsx("div", { className: cn(cellHeader, "flex-[1] print:static sticky left-0 bg-crimson-burgundy"), children: "Rank" }), _jsx("div", { className: cn(cellHeader, "flex-[3]"), children: "Competency Category" }), _jsx("div", { className: cn(cellHeader, "flex-[1]"), children: "Index" }), _jsx("div", { className: cn(cellHeader, "flex-[4]"), children: "Graph" })] }), data.map(({ category, average, result }, key) => {
|
|
15
|
-
return (_jsxs("div", { className: "flex flex-row text-sm bg-white", children: [_jsx("div", { className: cn(cellNormal, "flex-[1] print:static sticky left-0 border-r-1 px-1 border-crimson-burgundy bg-white/80 backdrop-blur-md"), children: key + 1 }), _jsx("div", { className: cn(cellNormal, "flex-[3] text-xs"), children: category }), _jsx("div", { className: cn(cellNormal, "flex-[1] text-base font-bold text-green-dark"), children: result }), _jsx("div", { className: cn(cellNormal, "flex-[4]"), children: _jsx(BarGraphDuo, { score: result, subScore: average, total: 100 }) })] }));
|
|
16
|
-
})] }) }));
|
|
17
|
-
}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { cn } from "../../../../../util";
|
|
3
|
-
import { printBoxStyles } from "../atom/PrintBoxStyles";
|
|
4
|
-
import LevelIndex from "../molecule/LevelIndex";
|
|
5
|
-
import { LineBreaks } from "../../../../../text";
|
|
6
|
-
export default function PerformanceCard({ data, info, }) {
|
|
7
|
-
const cardWrapper = {
|
|
8
|
-
displays: "flex flex-col relative",
|
|
9
|
-
sizes: "w-full rounded-lg overflow-hidden",
|
|
10
|
-
backgrounds: "bg-white shadow-main",
|
|
11
|
-
sapcings: "mt-5",
|
|
12
|
-
};
|
|
13
|
-
const cardTitle = {
|
|
14
|
-
display: "flex flex-row justify-center items-center",
|
|
15
|
-
sizes: "h-7 shrink-0 w-full",
|
|
16
|
-
bg: "bg-green-light",
|
|
17
|
-
textStyles: "text-green-dark font-medium text-sm",
|
|
18
|
-
};
|
|
19
|
-
const scriptStyling = {
|
|
20
|
-
display: "justify-start items-start",
|
|
21
|
-
sizes: "w-full h-fit",
|
|
22
|
-
textStyles: "text-xs font-medium text-black break-keep",
|
|
23
|
-
};
|
|
24
|
-
return (_jsxs("div", { className: cn(cardWrapper, printBoxStyles), children: [_jsx("div", { className: cn(cardTitle), children: _jsx("div", { className: "w-full text-center h-fit", children: "Performance Evaluation" }) }), _jsxs("div", { className: "w-full h-full flex flex-col gap-5 p-5", children: [_jsxs("div", { className: "flex flex-col flex-[3]", children: [_jsx(LineBreaks, { texts: data.script.performanceEvaluation, className: cn(scriptStyling) }), _jsx("div", { className: cn(scriptStyling, "hidden print:block text-green-dark"), children: "\uB098\uC758 \uC804\uAD6D \uC9C0\uD45C\uAC00 \uAD81\uAE08\uD558\uB2E4\uBA74? QR\uB85C \uC790\uC138\uD788 \uC54C\uC544\uBCF4\uC138\uC694!" })] }), _jsx("div", { className: "w-full flex flex-col flex-[2] justify-center items-center", children: _jsx(LevelIndex, { transcriptLevel: info.level }) })] })] }));
|
|
25
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { Theme } from "../../interface";
|
|
2
|
-
import { TranscriptAdvancedProps } from "../Transcript";
|
|
3
|
-
export declare function RadarCard({ data, theme, title, }: {
|
|
4
|
-
data: TranscriptAdvancedProps["lswr"];
|
|
5
|
-
theme: Theme;
|
|
6
|
-
title?: string;
|
|
7
|
-
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { cn } from "../../../../../util";
|
|
3
|
-
import CardTitle from "../atom/CardTitle";
|
|
4
|
-
import { printBoxStyles } from "../atom/PrintBoxStyles";
|
|
5
|
-
import { LSWRChart } from "../molecule/LSWRChart";
|
|
6
|
-
import { RadarGraph } from "../molecule/RadarGraph";
|
|
7
|
-
function prepareRadarChartData(averageLSWR, resultLSWR) {
|
|
8
|
-
return [
|
|
9
|
-
{
|
|
10
|
-
subject: "L",
|
|
11
|
-
A: resultLSWR.listening,
|
|
12
|
-
B: averageLSWR.listening,
|
|
13
|
-
fullMark: 100,
|
|
14
|
-
title: "Listening",
|
|
15
|
-
partIndicies: [1, 3, 4],
|
|
16
|
-
},
|
|
17
|
-
{
|
|
18
|
-
subject: "S",
|
|
19
|
-
A: resultLSWR.speaking,
|
|
20
|
-
B: averageLSWR.speaking,
|
|
21
|
-
fullMark: 100,
|
|
22
|
-
title: "Speaking",
|
|
23
|
-
partIndicies: [2],
|
|
24
|
-
},
|
|
25
|
-
{
|
|
26
|
-
subject: "R",
|
|
27
|
-
A: resultLSWR.reading,
|
|
28
|
-
B: averageLSWR.reading,
|
|
29
|
-
fullMark: 100,
|
|
30
|
-
title: "Reading",
|
|
31
|
-
partIndicies: [7, 8],
|
|
32
|
-
},
|
|
33
|
-
{
|
|
34
|
-
subject: "W",
|
|
35
|
-
A: resultLSWR.writing,
|
|
36
|
-
B: averageLSWR.writing,
|
|
37
|
-
fullMark: 100,
|
|
38
|
-
title: "Writing",
|
|
39
|
-
partIndicies: [5, 6],
|
|
40
|
-
},
|
|
41
|
-
];
|
|
42
|
-
}
|
|
43
|
-
export function RadarCard({ data, theme, title, }) {
|
|
44
|
-
const cardWrapper = {
|
|
45
|
-
displays: "flex flex-col relative",
|
|
46
|
-
sizes: "w-full rounded-lg overflow-hidden",
|
|
47
|
-
backgrounds: "bg-white shadow-main",
|
|
48
|
-
};
|
|
49
|
-
const SectionWrapper = {
|
|
50
|
-
display: "flex flex-row items-center justify-center",
|
|
51
|
-
sizes: "w-full",
|
|
52
|
-
};
|
|
53
|
-
return (_jsxs("div", { className: "w-full h-fit flex flex-col-reverse md:flex-row gap-5 mt-5 print:flex-row", children: [_jsx("div", { className: cn(cardWrapper, printBoxStyles, "flex-[1]"), children: _jsx(LSWRChart, { data: prepareRadarChartData(data.average, data.result) }) }), _jsxs("div", { className: cn(cardWrapper, printBoxStyles, "flex-[1]"), children: [title && _jsx(CardTitle, { title: title, theme: theme }), _jsxs("div", { className: "flex flex-col p-5 h-full justify-center items-center", children: [_jsx("div", { className: cn(SectionWrapper), children: _jsx(RadarGraph, { data: prepareRadarChartData(data.average, data.result) }) }), _jsxs("div", { className: "w-full h-fit flex items-center justify-center gap-5", children: [_jsxs("div", { className: "flex flex-row justify-center items-center gap-2", children: [_jsx("div", { className: "rounded-full h-3 w-3 bg-green-dark" }), _jsx("div", { className: "text-green-dark text-xs", children: "My Score" })] }), _jsxs("div", { className: "flex flex-row justify-center items-center gap-2", children: [_jsx("div", { className: "rounded-full h-3 w-3 bg-crimson-burgundy" }), _jsx("div", { className: "text-crimson-burgundy text-xs", children: "Average" })] })] })] })] })] }));
|
|
54
|
-
}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { cn } from "../../../../../util";
|
|
3
|
-
import { printBoxStyles } from "../atom/PrintBoxStyles";
|
|
4
|
-
import { CircularGauge } from "../molecule/CircularGauge";
|
|
5
|
-
export default function ResultGaugeCard({ result, theme, noAnimation, }) {
|
|
6
|
-
const cardWrapper = {
|
|
7
|
-
displays: "flex flex-col self-auto flex-2 md:flex-1 overflow-hidden",
|
|
8
|
-
sizes: "w-full h-fit rounded-lg",
|
|
9
|
-
backgrounds: "bg-white shadow-main",
|
|
10
|
-
// animations: "duration-300 hover:scale-105 hover:shadow-green",
|
|
11
|
-
};
|
|
12
|
-
const cardTitle = {
|
|
13
|
-
display: "flex flex-row justify-center items-center",
|
|
14
|
-
sizes: "h-7 w-full",
|
|
15
|
-
bg: "bg-green-dark",
|
|
16
|
-
textStyles: "text-white font-medium text-sm",
|
|
17
|
-
};
|
|
18
|
-
return (_jsxs("div", { className: cn(cardWrapper, printBoxStyles), children: [_jsxs("div", { className: cn(cardTitle), children: [_jsx("div", { className: "w-full text-center h-full flex justify-center items-center", children: "\uCDE8\uB4DD \uC810\uC218" }), _jsx("div", { className: "w-0.5 h-7 bg-white" }), _jsx("div", { className: "w-full text-center h-full flex justify-center items-center", children: "\uC778\uC99D \uB4F1\uAE09" })] }), _jsxs("div", { className: "flex flex-row gap-10 p-5 w-full", children: [_jsx(CircularGauge, { score: result.score, maxScore: 100, isGrade: false, theme: theme, noAnimation: noAnimation }), _jsx(CircularGauge, { score: result.grade, maxScore: 9, isGrade: true, theme: theme, noAnimation: noAnimation })] })] }));
|
|
19
|
-
}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { cn } from "../../../../../util";
|
|
3
|
-
export default function ScoreCard({ data }) {
|
|
4
|
-
const cellAnimation = {
|
|
5
|
-
animations: "hover:bg-green-light/50 hover:text-green-dark duration-300",
|
|
6
|
-
};
|
|
7
|
-
return (_jsx("div", { className: "overflow-auto w-full scrollbar-hidden rounded-lg mt-5 print:border print:border-gray-medium/70 cursor-default shadow-main print:shadow-none", children: _jsxs("div", { className: "min-w-[172mm] w-full", children: [_jsxs("div", { className: "flex bg-gradient-to-r from-green-dark to-crimson-burgundy text-white font-medium text-sm", children: [_jsx("div", { className: "text-center print:static sticky left-0 bg-green-dark p-2 flex-[3] font-black", children: "\uC131\uC801\uD45C" }), _jsx("div", { className: "p-2 flex-[2] text-center", children: "\uCD1D\uC810" }), _jsx("div", { className: "p-2 flex-[2] text-center", children: "\uB0B4 \uC810\uC218" }), _jsx("div", { className: "p-2 flex-[3] text-center", children: "\uC804\uAD6D\uD3C9\uADE0" }), _jsx("div", { className: "p-2 flex-[3] text-center", children: "\uC9C0\uC5ED\uD3C9\uADE0" }), _jsx("div", { className: "p-2 flex-[3] text-center", children: "\uB3D9\uC77C\uD559\uB144" }), _jsx("div", { className: "p-2 flex-[3] text-center", children: "10% \uD3C9\uADE0" }), _jsx("div", { className: "p-2 flex-[3] text-center", children: "30% \uD3C9\uADE0" })] }), _jsxs("div", { className: "flex bg-white/60 font-medium text-sm text-gray-medium ", children: [_jsx("div", { className: "sticky left-0 bg-white/90 p-2 flex-[3] text-center text-gray-dark border-green-dark border-r-1", children: "Section1" }), _jsx("div", { className: cn("p-2 flex-[2] text-center", cellAnimation), children: data.analysis.total.section1.toFixed(1) }), _jsx("div", { className: "p-2 flex-[2] text-center text-green-dark font-bold bg-green-light", children: data.analysis.user.section1.toFixed(1) }), _jsx("div", { className: cn("p-2 flex-[3] text-center", cellAnimation), children: data.analysis.nationalAverage.section1.toFixed(2) }), _jsx("div", { className: cn("p-2 flex-[3] text-center", cellAnimation), children: data.analysis.localAverage.section1.toFixed(2) }), _jsx("div", { className: cn("p-2 flex-[3] text-center", cellAnimation), children: data.analysis.ageAverage.section1.toFixed(2) }), _jsx("div", { className: "p-2 flex-[3] text-center border-green-dark border-l-1" }), _jsx("div", { className: "p-2 flex-[3] text-center" })] }), _jsxs("div", { className: "flex bg-white/60 font-medium text-sm text-gray-medium ", children: [_jsx("div", { className: "sticky left-0 bg-white/90 p-2 flex-[3] text-center text-gray-dark border-green-dark border-r-1", children: "Section2" }), _jsx("div", { className: cn("p-2 flex-[2] text-center", cellAnimation), children: data.analysis.total.section2.toFixed(1) }), _jsx("div", { className: "p-2 flex-[2] text-center text-green-dark font-bold bg-green-light", children: data.analysis.user.section2.toFixed(1) }), _jsx("div", { className: cn("p-2 flex-[3] text-center", cellAnimation), children: data.analysis.nationalAverage.section2.toFixed(2) }), _jsx("div", { className: cn("p-2 flex-[3] text-center", cellAnimation), children: data.analysis.localAverage.section2.toFixed(2) }), _jsx("div", { className: cn("p-2 flex-[3] text-center", cellAnimation), children: data.analysis.ageAverage.section2.toFixed(2) }), _jsx("div", { className: "p-2 flex-[3] text-center border-green-dark border-l-1 font-bold", children: data.analysis["10percentageAverage"].toFixed(2) }), _jsx("div", { className: "p-2 flex-[3] text-center font-bold", children: data.analysis["30percentageAverage"].toFixed(2) })] }), _jsxs("div", { className: "flex bg-white/60 font-medium text-sm text-gray-medium ", children: [_jsx("div", { className: "sticky left-0 bg-white/90 p-2 flex-[3] text-center text-gray-dark border-green-dark border-r-1", children: "total" }), _jsx("div", { className: cn("p-2 flex-[2] text-center", cellAnimation), children: (data.analysis.total.section1 + data.analysis.total.section2).toFixed(1) }), _jsx("div", { className: "p-2 flex-[2] text-center text-green-dark font-bold bg-green-light", children: (data.analysis.user.section1 + data.analysis.user.section2).toFixed(1) }), _jsx("div", { className: cn("p-2 flex-[3] text-center", cellAnimation), children: (data.analysis.nationalAverage.section1 +
|
|
8
|
-
data.analysis.nationalAverage.section2).toFixed(2) }), _jsx("div", { className: cn("p-2 flex-[3] text-center", cellAnimation), children: (data.analysis.localAverage.section1 +
|
|
9
|
-
data.analysis.localAverage.section2).toFixed(2) }), _jsx("div", { className: cn("p-2 flex-[3] text-center", cellAnimation), children: (data.analysis.ageAverage.section1 +
|
|
10
|
-
data.analysis.ageAverage.section2).toFixed(2) }), _jsx("div", { className: "p-2 flex-[3] text-center border-green-dark border-l-1" }), _jsx("div", { className: "p-2 flex-[3] text-center " })] })] }) }));
|
|
11
|
-
}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { SectionType, Theme } from "../../interface";
|
|
2
|
-
import { TranscriptProps } from "../Transcript";
|
|
3
|
-
export declare function SectionRadarCard({ info, data, theme, section, }: {
|
|
4
|
-
info: TranscriptProps["info"];
|
|
5
|
-
data: TranscriptProps["data"];
|
|
6
|
-
theme: Theme;
|
|
7
|
-
section: SectionType;
|
|
8
|
-
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { cn } from "../../../../../util";
|
|
3
|
-
import CardTitle from "../atom/CardTitle";
|
|
4
|
-
import { GetPartDescriptionFromLevel } from "../atom/GetPartDescriptionFromLevel";
|
|
5
|
-
import { GetPartTitleFromLevel } from "../atom/GetPartTitleFromLevel";
|
|
6
|
-
import { printBoxStyles } from "../atom/PrintBoxStyles";
|
|
7
|
-
import { RadarGraph } from "../molecule/RadarGraph";
|
|
8
|
-
function prepareRadarChartData(resultPartPercent, averagePartPercent, section, level) {
|
|
9
|
-
const parts = ["partA", "partB", "partC", "partD"];
|
|
10
|
-
return parts
|
|
11
|
-
.map((part) => {
|
|
12
|
-
const partTitle = GetPartTitleFromLevel(level, section, part);
|
|
13
|
-
const partDescription = GetPartDescriptionFromLevel(level, section, part);
|
|
14
|
-
if (partTitle !== "Unknown") {
|
|
15
|
-
return {
|
|
16
|
-
subject: part,
|
|
17
|
-
title: partTitle,
|
|
18
|
-
A: resultPartPercent[part],
|
|
19
|
-
B: averagePartPercent[part],
|
|
20
|
-
fullMark: 1,
|
|
21
|
-
description: partDescription,
|
|
22
|
-
};
|
|
23
|
-
}
|
|
24
|
-
return null;
|
|
25
|
-
})
|
|
26
|
-
.filter((item) => item !== null); // null 값 제거
|
|
27
|
-
}
|
|
28
|
-
export function SectionRadarCard({ info, data, theme, section, }) {
|
|
29
|
-
const resultPartPercent = data.graph.user[section];
|
|
30
|
-
const averagePartPercent = data.graph.average.user[section];
|
|
31
|
-
const radarData = prepareRadarChartData(resultPartPercent, averagePartPercent, section, info.level);
|
|
32
|
-
const cardWrapper = {
|
|
33
|
-
displays: "flex flex-col relative",
|
|
34
|
-
sizes: "w-full rounded-lg overflow-hidden",
|
|
35
|
-
backgrounds: "bg-white shadow-main",
|
|
36
|
-
};
|
|
37
|
-
const SectionWrapper = {
|
|
38
|
-
display: "flex flex-row items-center justify-center",
|
|
39
|
-
sizes: "w-full",
|
|
40
|
-
};
|
|
41
|
-
return (_jsxs("div", { className: "w-full h-fit flex flex-col md:flex-row gap-5 mt-5 print:hidden", children: [_jsxs("div", { className: cn(cardWrapper, printBoxStyles, "flex-[1]"), children: [_jsx(CardTitle, { title: section, theme: theme }), _jsxs("div", { className: "flex flex-col p-5 h-full justify-center items-center", children: [_jsx("div", { className: cn(SectionWrapper), children: _jsx(RadarGraph, { data: radarData }) }), _jsxs("div", { className: "w-full h-fit flex items-center justify-center gap-5", children: [_jsxs("div", { className: "flex flex-row justify-center items-center gap-2", children: [_jsx("div", { className: "rounded-full h-3 w-3 bg-green-dark" }), _jsx("div", { className: "text-green-dark text-xs", children: "My Score" })] }), _jsxs("div", { className: "flex flex-row justify-center items-center gap-2", children: [_jsx("div", { className: "rounded-full h-3 w-3 bg-crimson-burgundy" }), _jsx("div", { className: "text-crimson-burgundy text-xs", children: "Average" })] })] })] })] }), _jsxs("div", { className: cn(cardWrapper, printBoxStyles, "flex-[1]"), children: [_jsx(CardTitle, { title: "description", theme: "green" }), _jsx("div", { className: "flex flex-col gap-5 p-5", children: radarData.map((item) => (_jsxs("div", { children: [_jsxs("div", { className: "flex flex-row gap-2 font-bold text-sm text-green-dark", children: [_jsx("div", { children: item.subject + "." }), _jsx("div", { children: item.title })] }), _jsx("div", { className: "text-xs", children: item.description })] }, item.subject))) })] })] }));
|
|
42
|
-
}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import Layout from "./Layout";
|
|
2
|
-
declare const Transcript: {
|
|
3
|
-
Layout: typeof Layout;
|
|
4
|
-
Paper: import("react").ForwardRefExoticComponent<{
|
|
5
|
-
props: import("./design/Transcript").TranscriptProps;
|
|
6
|
-
} & import("react").RefAttributes<HTMLDivElement>>;
|
|
7
|
-
AdvancePaper: import("react").ForwardRefExoticComponent<{
|
|
8
|
-
props: import("./design/Transcript").TranscriptAdvancedProps;
|
|
9
|
-
} & import("react").RefAttributes<HTMLDivElement>>;
|
|
10
|
-
};
|
|
11
|
-
export default Transcript;
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
export type Theme = "green" | "red";
|
|
2
|
-
export type ScoreName = "Average" | "Your Score";
|
|
3
|
-
export type SectionType = "section1" | "section2";
|
|
4
|
-
export interface MultipleIntelligence {
|
|
5
|
-
musical: number;
|
|
6
|
-
bodilyKinesthetic: number;
|
|
7
|
-
logicalMathematical: number;
|
|
8
|
-
linguistic: number;
|
|
9
|
-
spatial: number;
|
|
10
|
-
interpersonal: number;
|
|
11
|
-
naturalist: number;
|
|
12
|
-
intrapersonal: number;
|
|
13
|
-
}
|
|
14
|
-
export interface SectionBarProps {
|
|
15
|
-
title: string;
|
|
16
|
-
score: number;
|
|
17
|
-
subScore?: number;
|
|
18
|
-
total: number;
|
|
19
|
-
scale?: number;
|
|
20
|
-
script: string | string[];
|
|
21
|
-
subScripts?: string[];
|
|
22
|
-
}
|
|
23
|
-
export interface Score {
|
|
24
|
-
part1: number;
|
|
25
|
-
part2: number;
|
|
26
|
-
part3: number;
|
|
27
|
-
part4: number;
|
|
28
|
-
part5: number;
|
|
29
|
-
part6: number;
|
|
30
|
-
part7: number;
|
|
31
|
-
part8: number;
|
|
32
|
-
}
|
|
33
|
-
export interface LSWRPercent {
|
|
34
|
-
listening: number;
|
|
35
|
-
speaking: number;
|
|
36
|
-
writing: number;
|
|
37
|
-
reading: number;
|
|
38
|
-
}
|
|
39
|
-
export interface PartPercent {
|
|
40
|
-
partA: number;
|
|
41
|
-
partB: number;
|
|
42
|
-
partC: number;
|
|
43
|
-
partD: number;
|
|
44
|
-
}
|
|
45
|
-
export interface partText {
|
|
46
|
-
partA: string;
|
|
47
|
-
partB: string;
|
|
48
|
-
partC: string;
|
|
49
|
-
partD?: string;
|
|
50
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|